aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/setlocalversion
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-03-20 18:13:09 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-03-20 18:13:09 -0700
commitb87a2d3e3147bd140da2eae584772c353d11421b (patch)
treeb07334f4a0b6bef83be8f061e76694c267d5fa34 /scripts/setlocalversion
parent53a94c7d55dceb73aab2876afce4c563bc9111fe (diff)
parentab94e4666d5cee0e393367671eeab4111105bffb (diff)
downloadkernel_samsung_aries-b87a2d3e3147bd140da2eae584772c353d11421b.zip
kernel_samsung_aries-b87a2d3e3147bd140da2eae584772c353d11421b.tar.gz
kernel_samsung_aries-b87a2d3e3147bd140da2eae584772c353d11421b.tar.bz2
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: scripts/extract-ikconfig: add xz compression support kbuild: add GNU GLOBAL tags generation setlocalversion: update mercurial tag parsing
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 ef8729f..4d40384 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?