Qual é a diferença entre tag e release?

176

Usando a API do GitHub, não consigo obter a lista de lançamentos, mas consigo a lista de tags.

Qual a diferença entre eles?

naor
fonte

Respostas:

200

Qual a diferença entre eles?

A tagé um ponteiro para um commit específico. Esse ponteiro pode ser super carregado com algumas informações adicionais (identidade do criador da tag, uma descrição, uma assinatura GPG, ...).

A tagé um conceito de git, enquanto a Releaseé um conceito de nível superior do GitHub.

Conforme declarado na publicação oficial do blog do GitHub: "As liberações são objetos de primeira classe com changelogs e ativos binários que apresentam um histórico completo do projeto além dos artefatos do Git".

A Releaseé criado a partir de um existente tage expõe notas de versão e links para baixar o software ou o código fonte do GitHub.

Usando a API do GitHub, não consigo obter a lista de lançamentos, mas consigo a lista de tags.

A versão atual da API do GitHub não expõe uma maneira de gerenciar Releases (criar, atualizar, ...). Tenho certeza de que isso não deve demorar muito para ser exposto.

No entanto, atualmente é possível listar os releases e tags de um repositório específico.

Por exemplo, o URL abaixo listará os 6 lançamentos (a partir de hoje) do ReactiveUI

Considerando que este listará as 54 tags (a partir de hoje) do mesmo repositório

A criação de um release está atualmente em um processo que envolve uma ação manual (adicionando as notas de lançamento, fazendo upload dos pacotes, ...). Isso explica por que tags não são vistos de forma transparente como Releases.


Se você deseja ser notificado sobre as alterações da API, inscreva-se no blog GitHub API Changes .

No entanto, se você não puder esperar, a home page da API do GitHub indica "Se você tiver algum problema ou solicitação, entre em contato com o suporte ". Isso pode ser feito através de um email para [email protected] ou deste formulário de contato .

Atualizar:

A API do GitHub agora permite manipular Releases. Veja o anúncio .

nulltoken
fonte
Muito obrigado pela sua resposta detalhada. Re: / releases - eu recebo 0 lançamentos para rails , o que é um pouco estranho, não?
naor 29/08/13
1
Eu não acho estranho. Isso significa apenas que a equipe do Rails não usou a interface do GitHub para criar uma a Releasepartir de uma existente tag. Releases são uma adição bastante recente. Talvez a equipe do Rails prefira seguir seu processo atual e publicar em seu blog sempre que uma nova versão for lançada (veja o anúncio 3.2.14 ).
Nulo 29/13
2
+1 para a clara distinção entre uma tag e uma versão e para que serve cada uma: "A tagé um conceito de git, enquanto a Releaseé um conceito de nível superior do GitHub ... A Releaseé criado a partir de um existente tage expõe notas de versão e links para baixar o software ou código-fonte do GitHub ".
Paul Masri-Stone
Também vale a pena saber que agora existe uma ferramenta de linha de comando chamada hub que sobrecarrega os recursos do git. Entre essas superpotências, há a capacidade de pressionar a liberação no terminal.
Paul Razvan Berg