diff options
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> | 2019-01-30 21:15:07 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2019-02-04 21:25:33 +0100 |
commit | 57e6dcf5fbdbdd2079d92c8f6029ec7385e96e71 (patch) | |
tree | a29d45e3c6c892e8d8cae2be00d07ac72558c1e7 /support | |
parent | 4d001395fac944b476e342e06dd0a92a70de3bd2 (diff) | |
download | buildroot-57e6dcf5fbdbdd2079d92c8f6029ec7385e96e71.tar.gz buildroot-57e6dcf5fbdbdd2079d92c8f6029ec7385e96e71.zip |
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
"<revision> <tags-if-any>"
but when on a branch it actually is:
"<revision> (<branch>) <tags-if-any>"
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 <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Diffstat (limited to 'support')
-rwxr-xr-x | support/scripts/setlocalversion | 2 |
1 files changed, 1 insertions, 1 deletions
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? |