Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 38b3439d authored by Mike Crowe's avatar Mike Crowe Committed by Michal Marek
Browse files

setlocalversion: update mercurial tag parsing



The tag output of hg doesn't quite match what setlocalversion currently
expects, so update it to handle the latest format.

Signed-off-by: default avatarMike Crowe <mcrowe@zipitwireless.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent 0719e1d2
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -86,13 +86,17 @@ 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?
		# 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?
		# These are represented by + after the changeset id.