X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=GIT-VERSION-GEN;h=df7ed327cb3f9b8f93ec596e629da4c08346e69a;hp=a64d79612ef3fbde0eadf35d657a5ed67825abce;hb=eb8ac00d795be355154f237d7e29f8ecf9999846;hpb=ffb2eaa90429f6d5c3d369509efcdf91c5463dad;ds=sidebyside diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index a64d7961..df7ed327 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,27 +1,22 @@ -#!/bin/sh - -if test $# -ne 1; then - echo >&2 "usage: $0 " - exit 1 -fi +#!/usr/bin/env bash +(($# > 1)) && { echo >&2 "usage: $0 []"; exit 1; } GVF="$1" -DEF_VER="unnamed_version" +DEF_VER="unnamed_version" LF=' ' # First see if there is a version file (included in release tarballs), # then try git-describe, then default. -if test -f VERSION -then +if [[ -f VERSION ]]; then VN=$(cat VERSION) || VN="$DEF_VER" -elif test -d .git -o -f .git && +elif [[ -d .git || -f .git ]] && VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && case "$VN" in *$LF*) (exit 1) ;; v[0-9]*) - git update-index -q --refresh + git update-index -q --refresh &>/dev/null test -z "$(git diff-index --name-only HEAD --)" || VN="$VN-dirty" ;; esac @@ -32,14 +27,14 @@ else fi VN=$(expr "$VN" : v*'\(.*\)') +echo "$VN" -if test -r $GVF -then - VC=$(sed -e 's/^GIT_VERSION = //' <$GVF) -else - VC=unset +[[ -z "$GVF" ]] && exit 0 +if [[ -r "$GVF" ]]; then + pattern='^#define GIT_VERSION "' + VC=$(grep "$pattern" < "$GVF" | sed -e "s/$pattern//; s/\"$//") + [[ "$VN" == "$VC" ]] && exit 0 fi -test "$VN" = "$VC" || { - echo >&2 "GIT_VERSION = $VN" - echo "GIT_VERSION = $VN" >$GVF -} +echo >&2 "new git version: $VN" +echo "/** \\file ${GVF##*/} Auto-generated version file. Do not edit. */" >$GVF +echo "#define GIT_VERSION \"$VN\"" >> $GVF