diff options
author | Nico Schottelius <nico-linux-20090330@schottelius.org> | 2009-04-25 09:48:39 +0200 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2009-05-01 10:54:04 +0200 |
commit | a182ad3d0f858f50bb719a48bb35a013e12366c5 (patch) | |
tree | ac68356f710cf5be77d6e6d529d49f598aaf67ea | |
parent | 99e3a1eb3c22bb671c6f3d22d8244bfc9fad8185 (diff) |
kbuild: fix scripts/setlocalversion with git
When using trees like wireless-testing, which have untagged tags,
scripts/setlocalversion does not display any git indication for
localversion.
This patch fixes it: If git is available, but no usable tag is found,
it uses -g${head}. It skips the detection of unanottated tags via
git name-rev.
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rwxr-xr-x | scripts/setlocalversion | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index 47e75b69a2e..32c8554f394 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -10,13 +10,12 @@ cd "${1:-.}" || usage # Check for git and a git repo. 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 + # Do we have an untagged tag? + if atag=`git describe 2>/dev/null`; then + echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' + # add -g${head}, if there is no usable tag + else + printf '%s%s' -g $head fi # Is this git on svn? |