summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rwxr-xr-xutils/GetSourceVersion27
1 files changed, 27 insertions, 0 deletions
diff --git a/utils/GetSourceVersion b/utils/GetSourceVersion
new file mode 100755
index 0000000000..63cfe0f499
--- /dev/null
+++ b/utils/GetSourceVersion
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+function usage() {
+ echo "usage: $0 <source root>"
+ echo " Prints the source control revision of the given source directory,"
+ echo " the exact format of the revision string depends on the source "
+ echo " control system. If the source control system isn't known, the output"
+ echo " is empty and the exit code is 1."
+ exit 1
+}
+
+if [ $# != 1 ] || [ ! -d $1 ]; then
+ usage;
+fi
+
+cd $1
+if [ -d .svn ]; then
+ svnversion
+elif [ -d .git/svn ]; then
+ git svn info | grep 'Revision:' | cut -d: -f2-
+elif [ -d .git ]; then
+ git log -1 --pretty=format:%H
+else
+ exit 1;
+fi
+
+exit 0