Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kbuild: support mercurial in setlocalversion

This represents mercurial changesets similarly to git. For untagged
revisions, append the changeset id. If there are uncommitted changes,
append -dirty. For example, -hgc60016ba6237-dirty

Signed-off-by: Aron Griffis <aron@hp.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

authored by

Aron Griffis and committed by
Sam Ravnborg
3dce174c 2f4b489b

+23
+23
scripts/setlocalversion
··· 19 19 if git diff-index HEAD | read dummy; then 20 20 printf '%s' -dirty 21 21 fi 22 + 23 + # All done with git 24 + exit 25 + fi 26 + 27 + # Check for mercurial and a mercurial repo. 28 + if hgid=`hg id 2>/dev/null`; then 29 + tag=`printf '%s' "$hgid" | cut -d' ' -f2` 30 + 31 + # Do we have an untagged version? 32 + if [ -z "$tag" -o "$tag" = tip ]; then 33 + id=`printf '%s' "$hgid" | sed 's/[+ ].*//'` 34 + printf '%s%s' -hg "$id" 35 + fi 36 + 37 + # Are there uncommitted changes? 38 + # These are represented by + after the changeset id. 39 + case "$hgid" in 40 + *+|*+\ *) printf '%s' -dirty ;; 41 + esac 42 + 43 + # All done with mercurial 44 + exit 22 45 fi