projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tests: port test-fdutimensat.c to Solaris 8
[gnulib.git]
/
build-aux
/
git-version-gen
diff --git
a/build-aux/git-version-gen
b/build-aux/git-version-gen
index
5a7e989
..
795a98b
100755
(executable)
--- a/
build-aux/git-version-gen
+++ b/
build-aux/git-version-gen
@@
-1,6
+1,6
@@
#!/bin/sh
# Print a version string.
#!/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.
#
# 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
# 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
esac
tarball_version_file=$1
+tag_sed_script="${2:-s/x/x/}"
nl='
'
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
# 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
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=`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) ;;
&& case $v in
v[0-9]*) ;;
*) (exit 1) ;;