Blame view

scripts/setlocalversion 1.5 KB
117a93db1   Rene Scharfe   kbuild: Use git i...
1
2
  #!/bin/sh
  # Print additional version information for non-release trees.
aaebf4332   Ryan Anderson   [PATCH] kbuild: a...
3

117a93db1   Rene Scharfe   kbuild: Use git i...
4
5
6
  usage() {
  	echo "Usage: $0 [srctree]" >&2
  	exit 1
aaebf4332   Ryan Anderson   [PATCH] kbuild: a...
7
  }
117a93db1   Rene Scharfe   kbuild: Use git i...
8
  cd "${1:-.}" || usage
aaebf4332   Ryan Anderson   [PATCH] kbuild: a...
9

117a93db1   Rene Scharfe   kbuild: Use git i...
10
11
12
  # Check for git and a git repo.
  if head=`git rev-parse --verify HEAD 2>/dev/null`; then
  	# Do we have an untagged version?
29b0c8995   Uwe Zeisberger   kbuild: append gi...
13
  	if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then
56b2f0706   Sebastian Siewior   setlocalversion: ...
14
15
16
  		if tag=`git describe 2>/dev/null`; then
  			echo $tag | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
  		fi
117a93db1   Rene Scharfe   kbuild: Use git i...
17
  	fi
aaebf4332   Ryan Anderson   [PATCH] kbuild: a...
18

117a93db1   Rene Scharfe   kbuild: Use git i...
19
  	# Are there uncommitted changes?
4e7434ff0   Theodore Ts'o   kbuild: fix scrip...
20
  	git update-index --refresh --unmerged > /dev/null
b052ce4c8   Theodore Ts'o   kbuild: fix false...
21
22
  	if git diff-index --name-only HEAD | grep -v "^scripts/package" \
  	    | read dummy; then
24d49756a   Ryan Anderson   kbuild: In setloc...
23
  		printf '%s' -dirty
117a93db1   Rene Scharfe   kbuild: Use git i...
24
  	fi
3dce174cf   Aron Griffis   kbuild: support m...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  
  	# All done with git
  	exit
  fi
  
  # Check for mercurial and a mercurial repo.
  if hgid=`hg id 2>/dev/null`; then
  	tag=`printf '%s' "$hgid" | cut -d' ' -f2`
  
  	# Do we have an untagged version?
  	if [ -z "$tag" -o "$tag" = tip ]; then
  		id=`printf '%s' "$hgid" | sed 's/[+ ].*//'`
  		printf '%s%s' -hg "$id"
  	fi
  
  	# Are there uncommitted changes?
  	# These are represented by + after the changeset id.
  	case "$hgid" in
  		*+|*+\ *) printf '%s' -dirty ;;
  	esac
  
  	# All done with mercurial
  	exit
117a93db1   Rene Scharfe   kbuild: Use git i...
48
  fi
ba3d05fb6   Bryan Wu   kbuild: add svn r...
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  
  # Check for svn and a svn repo.
  if rev=`svn info 2>/dev/null | grep '^Revision'`; then
  	rev=`echo $rev | awk '{print $NF}'`
  	changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l`
  
  	# Are there uncommitted changes?
  	if [ $changes != 0 ]; then
  		printf -- '-svn%s%s%s' "$rev" -dirty "$changes"
  	else
  		printf -- '-svn%s' "$rev"
  	fi
  
  	# All done with svn
  	exit
  fi