X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=scripts%2Fsetlocalversion;h=4d403844e137a59f53f032bc4972a35e86b2327f;hb=c337374bf23b88620bcc66a7a09f141cc640f548;hp=ef8729f48586d193d3926d5bd6c4d0b9c34bcb96;hpb=0f54088aac3fc744cae0cbc4f021fc377e48a00c;p=~andy%2Flinux diff --git a/scripts/setlocalversion b/scripts/setlocalversion index ef8729f4858..4d403844e13 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -86,12 +86,16 @@ scm_version() # Check for mercurial and a mercurial repo. if test -d .hg && hgid=`hg id 2>/dev/null`; then - tag=`printf '%s' "$hgid" | cut -s -d' ' -f2` - - # Do we have an untagged version? - if [ -z "$tag" -o "$tag" = tip ]; then - id=`printf '%s' "$hgid" | sed 's/[+ ].*//'` + # Do we have an tagged version? If so, latesttagdistance == 1 + if [ "`hg log -r . --template '{latesttagdistance}'`" == "1" ]; then + id=`hg log -r . --template '{latesttag}'` printf '%s%s' -hg "$id" + else + tag=`printf '%s' "$hgid" | cut -d' ' -f2` + if [ -z "$tag" -o "$tag" = tip ]; then + id=`printf '%s' "$hgid" | sed 's/[+ ].*//'` + printf '%s%s' -hg "$id" + fi fi # Are there uncommitted changes?