build-aux/git-version-gen: Refresh from Gnulib commit d93aa1d

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2017-08-12 09:59:59 +02:00
parent af72ecd75f
commit c28571640b

View file

@ -1,8 +1,8 @@
#!/bin/sh #!/bin/sh
# Print a version string. # Print a version string.
scriptversion=2012-03-18.17; # UTC scriptversion=2017-08-07.06; # UTC
# Copyright (C) 2007-2012 Free Software Foundation, Inc. # Copyright (C) 2007-2017 Free Software Foundation, Inc.
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -85,7 +85,9 @@ Print a version string.
Options: Options:
--prefix prefix of git tags (default 'v') --prefix PREFIX prefix of git tags (default 'v')
--fallback VERSION
fallback version to use if \"git --version\" fails
--help display this help and exit --help display this help and exit
--version output version information and exit --version output version information and exit
@ -93,20 +95,22 @@ Options:
Running without arguments will suffice in most cases." Running without arguments will suffice in most cases."
prefix=v prefix=v
fallback=
while test $# -gt 0; do while test $# -gt 0; do
case $1 in case $1 in
--help) echo "$usage"; exit 0;; --help) echo "$usage"; exit 0;;
--version) echo "$version"; exit 0;; --version) echo "$version"; exit 0;;
--prefix) shift; prefix="$1";; --prefix) shift; prefix=${1?};;
--fallback) shift; fallback=${1?};;
-*) -*)
echo "$0: Unknown option '$1'." >&2 echo "$0: Unknown option '$1'." >&2
echo "$0: Try '--help' for more information." >&2 echo "$0: Try '--help' for more information." >&2
exit 1;; exit 1;;
*) *)
if test -z "$tarball_version_file"; then if test "x$tarball_version_file" = x; then
tarball_version_file="$1" tarball_version_file="$1"
elif test -z "$tag_sed_script"; then elif test "x$tag_sed_script" = x; then
tag_sed_script="$1" tag_sed_script="$1"
else else
echo "$0: extra non-option argument '$1'." >&2 echo "$0: extra non-option argument '$1'." >&2
@ -116,7 +120,7 @@ while test $# -gt 0; do
shift shift
done done
if test -z "$tarball_version_file"; then if test "x$tarball_version_file" = x; then
echo "$usage" echo "$usage"
exit 1 exit 1
fi fi
@ -140,11 +144,11 @@ then
[0-9]*) ;; [0-9]*) ;;
*) v= ;; *) v= ;;
esac esac
test -z "$v" \ test "x$v" = x \
&& echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2 && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2
fi fi
if test -n "$v" if test "x$v" != x
then then
: # use $v : # use $v
# Otherwise, if there is at least one git commit involving the working # Otherwise, if there is at least one git commit involving the working
@ -163,9 +167,9 @@ then
# tag or the previous older version that did not? # tag or the previous older version that did not?
# Newer: v6.10-77-g0f8faeb # Newer: v6.10-77-g0f8faeb
# Older: v6.10-g0f8faeb # Older: v6.10-g0f8faeb
case $v in case ${v#-g*} in
*-*-*) : git describe is okay three part flavor ;; *-*) : git describe is probably okay three part flavor ;;
*-*) *)
: git describe is older two part flavor : git describe is older two part flavor
# Recreate the number of commits and rewrite such that the # Recreate the number of commits and rewrite such that the
# result is the same as if we were using the newer version # result is the same as if we were using the newer version
@ -180,12 +184,14 @@ then
;; ;;
esac esac
# Change the first '-' to a '.', so version-comparing tools work properly. # Change the penultimate "-" to ".", for version-comparing tools.
# Remove the "g" in git describe's output string, to save a byte. # Remove the "g" to save a byte.
v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; v=`echo "$v" | sed 's/-\([^-]*\)-g\([^-]*\)$/.\1-\2/'`;
v_from_git=1 v_from_git=1
else elif test "x$fallback" = x || git --version >/dev/null 2>&1; then
v=UNKNOWN v=UNKNOWN
else
v=$fallback
fi fi
v=`echo "$v" |sed "s/^$prefix//"` v=`echo "$v" |sed "s/^$prefix//"`
@ -193,7 +199,7 @@ v=`echo "$v" |sed "s/^$prefix//"`
# Test whether to append the "-dirty" suffix only if the version # Test whether to append the "-dirty" suffix only if the version
# string we're using came from git. I.e., skip the test if it's "UNKNOWN" # string we're using came from git. I.e., skip the test if it's "UNKNOWN"
# or if it came from .tarball-version. # or if it came from .tarball-version.
if test -n "$v_from_git"; then if test "x$v_from_git" != x; then
# Don't declare a version "dirty" merely because a timestamp has changed. # Don't declare a version "dirty" merely because a timestamp has changed.
git update-index --refresh > /dev/null 2>&1 git update-index --refresh > /dev/null 2>&1
@ -209,12 +215,12 @@ if test -n "$v_from_git"; then
fi fi
# Omit the trailing newline, so that m4_esyscmd can use the result directly. # Omit the trailing newline, so that m4_esyscmd can use the result directly.
echo "$v" | tr -d "$nl" printf %s "$v"
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End: