aboutsummaryrefslogtreecommitdiff
path: root/scripts/setlocalversion
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2011-04-22 23:35:25 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-04-22 23:35:25 -0700
commit03351ff4d897098a590cb247b6eebc470b8ecb5a (patch)
treeaed7a98a3d035689364c9ad5d7623d954403681e /scripts/setlocalversion
parent8b86c1c28f569301aa1a113a060f9ed803300903 (diff)
parentf0e615c3cb72b42191b558c130409335812621d8 (diff)
Merge commit 'v2.6.39-rc4' into next
Diffstat (limited to 'scripts/setlocalversion')
-rwxr-xr-xscripts/setlocalversion14
1 files changed, 9 insertions, 5 deletions
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?