diff options
author | Paul Phillips <paulp@improving.org> | 2011-12-09 20:45:52 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-12-09 21:21:56 -0800 |
commit | 7d2db571b41f3c23e91ad27ee5b81a421f312e00 (patch) | |
tree | 1ba3a2a52f5afa32233c35394b54ade7feae179a /tools/get-scala-revision | |
parent | df13e31bbb5f0dedc9739687bae553512a4a2517 (diff) | |
download | scala-7d2db571b41f3c23e91ad27ee5b81a421f312e00.tar.gz scala-7d2db571b41f3c23e91ad27ee5b81a421f312e00.tar.bz2 scala-7d2db571b41f3c23e91ad27ee5b81a421f312e00.zip |
Hardening get-scala-version.
Reimplementing without git-describe to harden against old
gits and make any kind of reference tag unnecessary.
Conflicts:
tools/get-scala-revision
Diffstat (limited to 'tools/get-scala-revision')
-rwxr-xr-x | tools/get-scala-revision | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/get-scala-revision b/tools/get-scala-revision new file mode 100755 index 0000000000..dc0ee561dd --- /dev/null +++ b/tools/get-scala-revision @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# +# Usage: get-scala-revision [dir] +# Figures out current scala revision of a git clone. +# +# If no dir is given, current working dir is used. + +# not like releases come out so often that we are duty-bound +# to recalculate this every time. +# git merge-base v2.9.1 master +devbase="d6f3184fc8" + +# reimplementing git describe hopefully in a way which works +# without any particular tags, branches, or recent versions of git. +# this is supposed to generate +# dev-NNNN-g<sha> +# where NNNN is the number of commits since devbase, which +# is the merge-base of the most recent release and master. +# Presently hardcoded to reduce uncertainty, v2.9.1/master. +commits=$(GIT_PAGER=cat git log --oneline $devbase..HEAD | wc -l) +sha=$(git log -1 --abbrev-commit --abbrev=7 --format="%h") +printf "dev-%s-g%s\n" $commits $sha |