diff options
author | Trent Piepho <tpiepho@freescale.com> | 2008-09-12 12:26:24 -0700 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-10-29 22:25:36 +0100 |
commit | f03b283f081f538ec71b9e87cb8411bb62e2abc9 (patch) | |
tree | 626fb2dd592d495bebf126858353e12198c7020d /scripts/setlocalversion | |
parent | e6e6733ed9451827165d853f25bf99ba55e12feb (diff) | |
download | op-kernel-dev-f03b283f081f538ec71b9e87cb8411bb62e2abc9.zip op-kernel-dev-f03b283f081f538ec71b9e87cb8411bb62e2abc9.tar.gz |
kbuild: tag with git revision when git describe is missing
setlocalversion used to use an abbreviated git commit sha1 to generate the
tag. This was changed in commit d882421f4e08ddf0a94245cdbe516db260aa6f41
"kbuild: change CONFIG_LOCALVERSION_AUTO to use a git-describe-ish format"
to use git describe to come up with a tag. Which is nice, but git describe
sometimes can't describe the revision.
Commit 56b2f0706d82535fd8d85503f2dcc0be40c8e55d ("setlocalversion: do not
describe if there is nothing to describe") addressed this, but there is still
no tag generated.
So, generate a plain abbreviated sha1 tag like setlocalversion used to when
git describe comes up short.
Signed-off-by: Trent Piepho <tpiepho@freescale.com>
CC: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/setlocalversion')
-rwxr-xr-x | scripts/setlocalversion | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 453faff..72d2335 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -9,11 +9,13 @@ usage() { cd "${1:-.}" || usage # Check for git and a git repo. -if head=`git rev-parse --verify HEAD 2>/dev/null`; then +if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then # Do we have an untagged version? if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then if tag=`git describe 2>/dev/null`; then echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' + else + printf '%s%s' -g $head fi fi |