#!/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 # 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