Skip to content

Commit 7d2db57

Browse files
committed
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
1 parent df13e31 commit 7d2db57

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tools/get-scala-revision

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Usage: get-scala-revision [dir]
4+
# Figures out current scala revision of a git clone.
5+
#
6+
# If no dir is given, current working dir is used.
7+
8+
# not like releases come out so often that we are duty-bound
9+
# to recalculate this every time.
10+
# git merge-base v2.9.1 master
11+
devbase="d6f3184fc8"
12+
13+
# reimplementing git describe hopefully in a way which works
14+
# without any particular tags, branches, or recent versions of git.
15+
# this is supposed to generate
16+
# dev-NNNN-g<sha>
17+
# where NNNN is the number of commits since devbase, which
18+
# is the merge-base of the most recent release and master.
19+
# Presently hardcoded to reduce uncertainty, v2.9.1/master.
20+
commits=$(GIT_PAGER=cat git log --oneline $devbase..HEAD | wc -l)
21+
sha=$(git log -1 --abbrev-commit --abbrev=7 --format="%h")
22+
printf "dev-%s-g%s\n" $commits $sha

0 commit comments

Comments
 (0)