GIT-VERSION-GENon commit general UI improvements (05293f9)
   1#!/bin/sh
   2
   3GVF=GIT-VERSION-FILE
   4DEF_VER=v2.23.GIT
   5
   6LF='
   7'
   8
   9# First see if there is a version file (included in release tarballs),
  10# then try git-describe, then default.
  11if test -f version
  12then
  13        VN=$(cat version) || VN="$DEF_VER"
  14elif test -d ${GIT_DIR:-.git} -o -f .git &&
  15        VN=$(git describe --match "v[0-9]*" HEAD 2>/dev/null) &&
  16        case "$VN" in
  17        *$LF*) (exit 1) ;;
  18        v[0-9]*)
  19                git update-index -q --refresh
  20                test -z "$(git diff-index --name-only HEAD --)" ||
  21                VN="$VN-dirty" ;;
  22        esac
  23then
  24        VN=$(echo "$VN" | sed -e 's/-/./g');
  25else
  26        VN="$DEF_VER"
  27fi
  28
  29VN=$(expr "$VN" : v*'\(.*\)')
  30
  31if test -r $GVF
  32then
  33        VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
  34else
  35        VC=unset
  36fi
  37test "$VN" = "$VC" || {
  38        echo >&2 "GIT_VERSION = $VN"
  39        echo "GIT_VERSION = $VN" >$GVF
  40}