X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=build-aux%2Fgit-version-gen;h=795a98b32364ca1fbf8a8f131ee6c12daa46fcf3;hb=6147723cd9000c4e840205fec3e64b0a5a5c1d04;hp=5a7e989584f95507eb2d0b92fa9c3e249ae0a545;hpb=6e417accc9b6501a730eb21d796c5660647e8aa1;p=gnulib.git diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen index 5a7e98958..795a98b32 100755 --- a/build-aux/git-version-gen +++ b/build-aux/git-version-gen @@ -1,6 +1,6 @@ #!/bin/sh # Print a version string. -scriptversion=2010-04-26.16; # UTC +scriptversion=2010-10-13.20; # UTC # Copyright (C) 2007-2010 Free Software Foundation, Inc. # @@ -67,14 +67,20 @@ scriptversion=2010-04-26.16; # UTC # echo $(VERSION) > $(distdir)/.tarball-version case $# in - 1) ;; - *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;; + 1|2) ;; + *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \ + '[TAG-NORMALIZATION-SED-SCRIPT]' + exit 1;; esac tarball_version_file=$1 +tag_sed_script="${2:-s/x/x/}" nl=' ' +# Avoid meddling by environment variable of the same name. +v= + # First see if there is a tarball-only version file. # then try "git describe", then default. if test -f $tarball_version_file @@ -92,9 +98,13 @@ fi if test -n "$v" then : # use $v -elif test -d .git \ +# Otherwise, if there is at least one git commit involving the working +# directory, and "git describe" output looks sensible, use that to +# derive a version string. +elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ || git describe --abbrev=4 HEAD 2>/dev/null` \ + && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ && case $v in v[0-9]*) ;; *) (exit 1) ;;