summaryrefslogtreecommitdiffstats
path: root/scripts/setlocalversion
diff options
context:
space:
mode:
authorNico Schottelius <nico-linux-20090330@schottelius.org>2009-04-25 09:48:39 +0200
committerSam Ravnborg <sam@ravnborg.org>2009-05-01 10:54:04 +0200
commita182ad3d0f858f50bb719a48bb35a013e12366c5 (patch)
treeac68356f710cf5be77d6e6d529d49f598aaf67ea /scripts/setlocalversion
parentkbuild: fix Module.markers permission error under cygwin (diff)
downloadlinux-a182ad3d0f858f50bb719a48bb35a013e12366c5.tar.xz
linux-a182ad3d0f858f50bb719a48bb35a013e12366c5.zip
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>
Diffstat (limited to 'scripts/setlocalversion')
-rwxr-xr-xscripts/setlocalversion13
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 47e75b69a2e9..32c8554f3946 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?