#!/bin/sh# Writes a "CGIT_VERSION = ..." line to the output file (default: VERSION),# for the build to include. Run from the project root so `git describe` acts# on cgit rather than the bundled Git submodule.## Usage: gen-version.sh <fallback-version> [output-file]
V=$1
OUT=${2:-VERSION}
# Prefer `git describe` when run at the top of the cgit working tree,# keeping the fallback when it fails, as in a shallow tagless clone.iftest"$(git rev-parse --git-dir 2>/dev/null)" = '.git'then
D=$(git describe --abbrev=4 HEAD 2>/dev/null)
test -n "$D" && V=$D
fi
new="CGIT_VERSION = $V"
old=$(cat "$OUT"2>/dev/null)
# Exit if the version is already up to date.test"$old" = "$new" && exit0echo"$new" > "$OUT"
cat "$OUT"