Pārlūkot izejas kodu

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>
(cherry picked from commit 57e6dcf5fbdbdd2079d92c8f6029ec7385e96e71)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas De Schampheleire 5 gadi atpakaļ
vecāks
revīzija
809a4ad11d
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      support/scripts/setlocalversion

+ 1 - 1
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?