$NetBSD: patch-dd,v 1.1 2010/02/02 12:39:14 jmcneill Exp $ --- git-version-gen.orig 2010-02-02 06:54:03.000000000 -0500 +++ git-version-gen 2010-02-02 06:55:16.000000000 -0500 @@ -74,76 +74,10 @@ case $# in esac tarball_version_file=$1 -nl=' -' - -# First see if there is a tarball-only version file. -# then try "git describe", then default. -if test -f $tarball_version_file -then - v=`cat $tarball_version_file` || exit 1 - case $v in - *$nl*) v= ;; # reject multi-line output - [0-9]*) ;; - *) v= ;; - esac - test -z "$v" \ - && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 -fi - -if test -n "$v" -then - : # use $v -elif test -d .git \ - && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ - || git describe --abbrev=4 HEAD 2>/dev/null` \ - && case $v in - v[0-9]*) ;; - *) (exit 1) ;; - esac -then - # Is this a new git that lists number of commits since the last - # tag or the previous older version that did not? - # Newer: v6.10-77-g0f8faeb - # Older: v6.10-g0f8faeb -# case $v in -# *-*-*) : git describe is okay three part flavor ;; -# *-*) -# : git describe is older two part flavor -# # Recreate the number of commits and rewrite such that the -# # result is the same as if we were using the newer version -# # of git describe. -# vtag=`echo "$v" | sed 's/-.*//'` -# numcommits=`git rev-list "$vtag"..HEAD | wc -l` -# v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; -# ;; -# esac - - # Change the first '-' to a '.', so version-comparing tools work properly. - # Remove the "g" in git describe's output string, to save a byte. -# v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; - : -else - v=UNKNOWN -fi - -v=`echo "$v" |sed 's/^v//'` - -# Don't declare a version "dirty" merely because a time stamp has changed. -git status > /dev/null 2>&1 - -dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= -case "$dirty" in - '') ;; - *) # Append the suffix only if there isn't one already. - case $v in - *-dirty) ;; - *) v="$v-dirty" ;; - esac ;; -esac +v=`cat ${tarball_version_file}` # Omit the trailing newline, so that m4_esyscmd can use the result directly. -echo "$v" | tr -d '\012' +echo "${v}" | tr -d '\012' # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp)