summaryrefslogtreecommitdiff
path: root/utils/GetRepositoryPath
diff options
context:
space:
mode:
Diffstat (limited to 'utils/GetRepositoryPath')
-rwxr-xr-xutils/GetRepositoryPath27
1 files changed, 27 insertions, 0 deletions
diff --git a/utils/GetRepositoryPath b/utils/GetRepositoryPath
new file mode 100755
index 00000000000..f3b0cc56e25
--- /dev/null
+++ b/utils/GetRepositoryPath
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+usage() {
+ echo "usage: $0 <source root>"
+ echo " Prints the source control repository path of the given source"
+ echo " directory, the exact format of the revision string depends on the"
+ echo " source control system. If the source control system isn't known,"
+ echo " the output is empty and the exit code is 1."
+ exit 1
+}
+
+if [ $# != 1 ] || [ ! -d $1 ]; then
+ usage;
+fi
+
+cd $1
+if [ -d .svn ]; then
+ svn info | grep 'URL:' | cut -d: -f2-
+elif [ -f .git/svn/.metadata ]; then
+ git svn info | grep 'URL:' | cut -d: -f2-
+elif [ -d .git ]; then
+ git remote -v | grep 'fetch' | awk '{ print $2 }'
+else
+ exit 1;
+fi
+
+exit 0