diff --git a/utils/GetSourceVersion b/utils/GetSourceVersion new file mode 100755 index 00000000000..63cfe0f4998 --- /dev/null +++ b/utils/GetSourceVersion @@ -0,0 +1,27 @@ +#!/bin/sh + +function usage() { + echo "usage: $0 " + 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