diff options
author | Patrick Ohly <patrick.ohly@intel.com> | 2014-02-15 23:09:49 +0100 |
---|---|---|
committer | Patrick Ohly <patrick.ohly@intel.com> | 2014-02-16 20:56:14 +0100 |
commit | 82bb12c5fcafbd094ce94f759d3690d702cd57f5 (patch) | |
tree | 0a62b667a555b30da34f703b50443aa9353a09db | |
parent | 969c7946064bd8625bc8e9b4ad167ad2770cd4fa (diff) |
autotools: fix version check
The libsynthesis_3.4.0.47+syncevolution-1-3-99-7-20140203 tag
accidentally matched the check for a non-exact-tag "git-describe"
output (-<number of changes>-g<hash>). Therefore the actual tags
weren't even checked.
Reversing the check such that we look at tags ourselves and proceed with
them if one matches avoids this problem.
-rwxr-xr-x | build/gen-git-version.sh | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/build/gen-git-version.sh b/build/gen-git-version.sh index bd5c8d5e..4fe07613 100755 --- a/build/gen-git-version.sh +++ b/build/gen-git-version.sh @@ -48,17 +48,17 @@ checksource () # already a hash, abbreviate hash=`echo $hash | sed -e 's/\(......\).*/\1/'` fi - # detect -<number of changes>-g<hash> suffix added when tag is older than HEAD - if perl -e "exit !('$describe' =~ m/-[0-9]+-[0-9a-g]{8}\$/);"; then - # remove suffix to get tag (doesn't matter if we do not pick - # the most recent one) - exact= - tag=`echo $describe | sed -e 's/-[0123456789]*-g.*//'` - else + if git show-ref --tags | grep -q $hash; then # there is at least one tag matching HEAD; # pick the most recent one (based on lexical sorting) exact=1 tag=`git show-ref --tags | grep $hash | sort | tail -1 | sed -e 's;.*refs/tags/;;'` + else + # Detect -<number of changes>-g<hash> suffix added when tag is older than HEAD. + # Remove suffix to get tag (doesn't matter if we do not pick + # the most recent one). + exact= + tag=`echo $describe | sed -e 's/-[0123456789]*-g.*//'` fi simpletag=$tag # Hyphens between numbers in the tag are dots in the version |