diff options
Diffstat (limited to 'scripts/setlocalversion')
| -rwxr-xr-x | scripts/setlocalversion | 14 | 
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? | 
