mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-16 03:31:39 +00:00
version: calculate version info without using git tags.
This makes it easier to integrate this version math into a submodule-ful world. We'll continue to have regular git tags that parallel the information in VERSION, so that builds out of this repository behave the same. Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
710b105f38
commit
437142daa5
@ -11,10 +11,8 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
describe=$(git describe --long --abbrev=9)
|
describe=$(./version/describe.sh)
|
||||||
# --abbrev=200 is an arbitrary large number to capture the entire git
|
commit=$(git rev-parse --verify --quiet HEAD)
|
||||||
# hash without trying to compact it.
|
|
||||||
commit=$(git describe --dirty --exclude "*" --always --abbrev=200)
|
|
||||||
|
|
||||||
long=$(./version/mkversion.sh long "$describe" "")
|
long=$(./version/mkversion.sh long "$describe" "")
|
||||||
short=$(./version/mkversion.sh short "$describe" "")
|
short=$(./version/mkversion.sh short "$describe" "")
|
||||||
|
26
version/describe.sh
Executable file
26
version/describe.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Constructs a "git describe" compatible version number by using the
|
||||||
|
# information in the VERSION file, rather than git tags.
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
dir="$(dirname $0)"
|
||||||
|
verfile="$dir/../VERSION"
|
||||||
|
|
||||||
|
read -r version hash <"$verfile"
|
||||||
|
|
||||||
|
if [ -z "$hash" ]; then
|
||||||
|
# If no explicit hash was given, use the last time the version
|
||||||
|
# file changed as the "origin" hash for this version.
|
||||||
|
hash="$(git rev-list --max-count=1 HEAD -- $verfile)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$hash" ]; then
|
||||||
|
echo "Couldn't find base git hash for version '$version'" >2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
head="$(git rev-parse --short=9 HEAD)"
|
||||||
|
changecount="$(git rev-list ${hash}..HEAD | wc -l)"
|
||||||
|
echo "v${version}-${changecount}-g${head}"
|
@ -1,4 +1,3 @@
|
|||||||
describe=$(git describe --long --abbrev=9)
|
./describe.sh >$3
|
||||||
echo "$describe" >$3
|
|
||||||
redo-always
|
redo-always
|
||||||
redo-stamp <$3
|
redo-stamp <$3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user