extrair informações de “tag” do git com um shell script

5

O pacote vc é um pequeno pacote que extrai informações sobre um git repo para facilitar a inserção em um documento LaTeX. Atualmente, não extrai informações sobre se o commit atual está marcado e qual é o nome da tag. Como eu editaria o script vc para fazer isso?

E como eu editaria o script vc-git.awk para adicionar uma linha extra ao arquivo vc.tex gerado? Presumivelmente eu quero uma linha que pareça:

print "\gdef\GITTag{" Tag "}%"

mas preciso de uma linha anterior que diga ao awk o que " Tag " significa?

Esta não é uma questão sobre o LaTeX, é sobre o git, o awk e o bash ...

    
por Seamus 21.12.2010 / 14:33

3 respostas

1
git log --decorate -1 [commit]

Se commit ( HEAD se omitido) tiver tags, o hash de confirmação será seguido por (tag: name) (e possivelmente também por várias outras referências simbólicas). Você pode escolher isso mais especificamente com

git log --pretty=%d
    
por 11.01.2011 / 16:11
1

Você pode obter o que a tag de confirmação aponta para:

git show -s 'TAG_NAME^{commit}' --format='%H'

Infelizmente, tenho medo de que a única maneira de verificar se commit é marcada para verificar todas as tags.

    
por 21.12.2010 / 16:12
1

Você pode obter de um commit para um nome de tag usando name-rev .

git name-rev <commit> --tags

Um exemplo:

$ git name-rev fcfeabe --tags
fcfeabe tags/v2.36-beta2

Então, para obter apenas a tag:

git name-rev fcfeabe --tags | awk '{sub("tags/", ""); print $2}' 
    
por 11.01.2011 / 13:47

Tags