Skip to contentSkip to conversation

Retrieving last tag of a working tree

DISCUSSION the_jack 3 participants 3 messages Jun 15, 2016

lore
Share & tools
lore

the_jack

author
#0 lore raw

I'm using msys git on Windows XP for version tracking embedded design project in C. I mostly work with GUIs (git-gui and qgit), I use bash only when I have to.

I need to be able to access version from software. To do that, I use tags to mark all released versions, and that version string is written to file version.h (the file is not tracked) by pre-build command:

#define KDK_SOFTWARE_VERSION "0.72"

Precompiler assigns this string to a variable. At this moment, version.h is filled by python script that calls "git-describe --tag HEAD" and parses the output. This works, but it's not quite reliable. There has to be a better way for getting the last tag of current working tree. If I checkout an earlier tagged version (0.70), I would need to automatically get 0.70 inside version.h

Can anyone shed any light on this?

Signature · 2 lines
View this message in context: http://www.nabble.com/Retrieving-last-tag-of-a-working-tree-tp21071491p21071491.html
Sent from the git mailing list archive at Nabble.com.
#1 lore raw
Quoted 6 lines · the_jack

Precompiler assigns this string to a variable. At this moment, version.h is filled by python script that calls "git-describe --tag HEAD" and parses the output. This works, but it's not quite reliable. There has to be a better way for getting the last tag of current working tree. If I checkout an earlier tagged version (0.70), I would need to automatically get 0.70 inside version.h

'git describe' is indeed the tool for this. You have not said in what way it fails, so here's an educated guess:

Up until 7e425c4 (describe: Make --tags and --all match lightweight tags more often, 2008-10-13) which will only be in 1.6.1, using --tags does not match a lightweight tag if there is also an annotated tag available.

-Thomas

Signature · 2 lines
Thomas Rast
trast@{inf,student}.ethz.ch
#2 lore raw
In reply to the_jack
Quoted 3 lines · the_jack

output. This works, but it's not quite reliable. There has to be a better way for getting the last tag of current working tree. If I checkout an

git describe?