aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/setlocalversion
diff options
context:
space:
mode:
authorFelix Blyakher <felixb@sgi.com>2009-06-10 18:07:47 -0400
committerFelix Blyakher <felixb@sgi.com>2009-06-10 18:07:47 -0400
commit4e73e0eb633f8a1b5cbf20e7f42c6dbfec1d1ca7 (patch)
tree0cea46e43f0625244c3d06a71d6559e5ec5419ca /scripts/setlocalversion
parent4156e735d3abde8e9243b5d22f7999dd3fffab2e (diff)
parent07a2039b8eb0af4ff464efd3dfd95de5c02648c6 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'scripts/setlocalversion')
-rwxr-xr-xscripts/setlocalversion27
1 files changed, 21 insertions, 6 deletions
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index f1c4b35bc324..00790472f641 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -1,5 +1,13 @@
1#!/bin/sh 1#!/bin/sh
2# Print additional version information for non-release trees. 2#
3# This scripts adds local version information from the version
4# control systems git, mercurial (hg) and subversion (svn).
5#
6# If something goes wrong, send a mail the kernel build mailinglist
7# (see MAINTAINERS) and CC Nico Schottelius
8# <nico-linuxsetlocalversion -at- schottelius.org>.
9#
10#
3 11
4usage() { 12usage() {
5 echo "Usage: $0 [srctree]" >&2 13 echo "Usage: $0 [srctree]" >&2
@@ -10,10 +18,17 @@ cd "${1:-.}" || usage
10 18
11# Check for git and a git repo. 19# Check for git and a git repo.
12if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then 20if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
13 # Do we have an untagged version? 21
14 if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then 22 # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore it,
15 if tag=`git describe 2>/dev/null`; then 23 # because this version is defined in the top level Makefile.
16 echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}' 24 if [ -z "`git describe --exact-match 2>/dev/null`" ]; then
25
26 # If we are past a tagged commit (like "v2.6.30-rc5-302-g72357d5"),
27 # we pretty print it.
28 if atag="`git describe 2>/dev/null`"; then
29 echo "$atag" | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
30
31 # If we don't have a tag at all we print -g{commitish}.
17 else 32 else
18 printf '%s%s' -g $head 33 printf '%s%s' -g $head
19 fi 34 fi
@@ -21,7 +36,7 @@ if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
21 36
22 # Is this git on svn? 37 # Is this git on svn?
23 if git config --get svn-remote.svn.url >/dev/null; then 38 if git config --get svn-remote.svn.url >/dev/null; then
24 printf -- '-svn%s' "`git-svn find-rev $head`" 39 printf -- '-svn%s' "`git svn find-rev $head`"
25 fi 40 fi
26 41
27 # Are there uncommitted changes? 42 # Are there uncommitted changes?