summaryrefslogtreecommitdiff
path: root/tools/get-scala-revision
diff options
context:
space:
mode:
Diffstat (limited to 'tools/get-scala-revision')
-rwxr-xr-xtools/get-scala-revision29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/get-scala-revision b/tools/get-scala-revision
new file mode 100755
index 0000000000..0fa020de95
--- /dev/null
+++ b/tools/get-scala-revision
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Usage: get-scala-rev [dir]
+# Figures out current scala revision of an svn checkout or
+# a git-svn mirror (or a git clone.)
+#
+# If no dir is given, current working dir is used.
+
+DIR=""
+if [[ $# -eq 0 ]]; then
+ DIR=`pwd`
+else
+ DIR=$1
+fi
+
+builtin cd $DIR
+
+if [[ -d .svn ]]; then
+ svn info . | grep ^Revision | sed 's/Revision: //'
+elif [[ -d .git ]]; then
+ GIT_PAGER=cat
+ # this grabs more than one line because otherwise if you have local
+ # commits which aren't in git-svn it won't see any revision.
+ git log -10 | grep git-svn-id | head -1 | sed 's/[^@]*@\([0-9]*\).*/\1/'
+else
+ echo "${DIR} doesn't appear to be git or svn dir." >&2
+ echo 0
+ exit 1
+fi