summaryrefslogtreecommitdiff
path: root/tools/setlocalversion
diff options
context:
space:
mode:
Diffstat (limited to 'tools/setlocalversion')
-rwxr-xr-xtools/setlocalversion22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/setlocalversion b/tools/setlocalversion
new file mode 100755
index 0000000000..9a23825218
--- /dev/null
+++ b/tools/setlocalversion
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Print additional version information for non-release trees.
+
+usage() {
+ echo "Usage: $0 [srctree]" >&2
+ exit 1
+}
+
+cd "${1:-.}" || usage
+
+# Check for git and a git repo.
+if head=`git rev-parse --verify HEAD 2>/dev/null`; then
+ # Do we have an untagged version?
+ if [ "`git name-rev --tags HEAD`" = "HEAD undefined" ]; then
+ printf '%s%s' -g `echo "$head" | cut -c1-8`
+ fi
+
+ # Are there uncommitted changes?
+ if git diff-files | read dummy; then
+ printf '%s' -dirty
+ fi
+fi