threads / discuss / 16782

Retrieving last tag of a working tree

Subject: Retrieving last tag of a working tree

## tl;dr

3 messages between Dec 18, 2008 and Dec 21, 2008.

replies: 2people: 3as markdown or json

the_jack· Dec 18, 2008, 12:07 UTC · lore

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?
-- 
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.
Sitaram Chamarty· Dec 21, 2008, 14:53 UTC · re: the_jack · lore

Re: Retrieving last tag of a working tree

On 2008-12-18, the_jack <josip@yopmail.com> wrote:
>
> 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?
Thomas Rast· Dec 21, 2008, 15:28 UTC · re: the_jack · lore

Re: Retrieving last tag of a working tree

the_jack wrote:
Show 6 quoted lines
> 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
-- 
Thomas Rast
trast@{inf,student}.ethz.ch

← back to recent threads