blob: b3f5f2824b1056352a1e229951e739a269837b35 [file] [log] [blame]
Wolfgang Denk4d1d9a32006-02-21 17:33:04 +01001#!/bin/sh
2# Print additional version information for non-release trees.
3
4usage() {
5 echo "Usage: $0 [srctree]" >&2
6 exit 1
7}
8
9cd "${1:-.}" || usage
10
11# Check for git and a git repo.
12if head=`git rev-parse --verify HEAD 2>/dev/null`; then
13 # Do we have an untagged version?
Wolfgang Denke145da62008-03-14 16:04:54 +010014 if git name-rev --tags HEAD | \
15 grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then
16 git describe | awk -F- '{printf("-%05d-%s", $(NF-1),$(NF))}'
Wolfgang Denk4d1d9a32006-02-21 17:33:04 +010017 fi
18
19 # Are there uncommitted changes?
Wolfgang Denke145da62008-03-14 16:04:54 +010020 git update-index --refresh --unmerged > /dev/null
21 if git diff-index --name-only HEAD | grep -v "^scripts/package" \
22 | read dummy; then
Wolfgang Denk4d1d9a32006-02-21 17:33:04 +010023 printf '%s' -dirty
24 fi
Mike Frysingerbfac87a2008-04-08 14:00:57 -040025
26 # Is this git on svn?
27 if git config --get svn-remote.svn.url >/dev/null; then
Peter Korsgaardf301d672009-03-31 17:52:16 +020028 printf -- '-svn%s' "`git svn find-rev $head`"
Mike Frysingerbfac87a2008-04-08 14:00:57 -040029 fi
30fi
31
32# Check for svn and a svn repo.
33if rev=`svn info 2>/dev/null` ; then
34 rev=`echo "${rev}" | grep '^Revision' | awk '{print $NF}'`
35 printf -- '-svn%s' $rev
Wolfgang Denk4d1d9a32006-02-21 17:33:04 +010036fi
Mike Frysingerbfac87a2008-04-08 14:00:57 -040037
38# Check for any localversion-* files
39printf '%s' "`cat localversion-* 2>/dev/null`"