#!/bin/sh # This file is a part of Julia. License is MIT: https://julialang.org/license # Needs to be run from a julia repo clone # First argument (optional) is a ref to the commit setglobal gitref = $(1:-HEAD) setglobal ver = $[git show "$gitref:VERSION] setglobal major = $[echo $ver | cut -f 1 -d .] setglobal minor = $[echo $ver | cut -f 2 -d .] if test $major = 0 -a $minor -lt 5 { # use tag based build number prior to 0.5.0- setglobal last_tag = $[git describe --tags --abbrev=0 $gitref] setglobal nb = $[git rev-list --count $gitref "^$last_tag] if test $nb = 0 { echo $ver } else { echo "$ver+$nb" } } else { setglobal topdir = $[git rev-parse --show-toplevel] setglobal verchanged = $[git blame -L ,1 -sl $gitref -- "$topdir/VERSION" | cut -f 1 -d " ] setglobal nb = $[git rev-list --count $gitref "^$verchanged] setglobal pre = $[echo $ver | cut -s -f 2 -d "-] if test $ver = "0.5.0-dev" { # bump to 0.5.0-dev was one commit after tag during 0.5.0-dev setglobal nb = $[expr $nb + 1] } elif test $ver = "0.5.0-pre" { # bump to 0.5.0-pre was 5578 commits after tag setglobal nb = $[expr $nb + 5578] } if test -n $pre { if test $major = 0 -a $minor -le 5 { echo "$ver+$nb" } else { echo "$ver.$nb" } } else { echo $ver } }