From: Thomas De Schampheleire Date: Wed, 30 Jan 2019 20:15:07 +0000 (+0100) Subject: support/scripts/setlocalversion: fix detection of hg revision when _not_ on branch... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57e6dcf5fbdbdd2079d92c8f6029ec7385e96e71;p=buildroot.git support/scripts/setlocalversion: fix detection of hg revision when _not_ on branch 'default' When Buildroot is stored in a Mercurial repository on a branch other than 'default' ('master' in git terms), setlocalversion (used to populate /etc/os-release) will incorrectly think that this is a tagged version and will NOT print out the revision hash. This is due to the fact that the output of 'hg id' is assumed to be " " but when on a branch it actually is: " () " To let setlocalversion receive the output it expects, explicitly ask 'hg id' to retrieve only the revision hash and any tags, ommitting any branch information. Signed-off-by: Thomas De Schampheleire Signed-off-by: Thomas Petazzoni --- diff --git a/support/scripts/setlocalversion b/support/scripts/setlocalversion index 33cd605bf3..45f4283bb1 100755 --- a/support/scripts/setlocalversion +++ b/support/scripts/setlocalversion @@ -53,7 +53,7 @@ if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then fi # Check for mercurial and a mercurial repo. -if hgid=`hg id 2>/dev/null`; then +if hgid=`hg id --id --tags 2>/dev/null`; then tag=`printf '%s' "$hgid" | cut -d' ' -f2 --only-delimited` # Do we have an untagged version?