summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-10-13 22:11:31 +0200
committerJim Meyering <meyering@redhat.com>2010-10-14 07:29:30 +0200
commit49e38169beb576f18a11b1858bd3601a999092dc (patch)
tree6cd19425051f404a24ae9458a1223c344cc7fc05 /build-aux
parent1179fb893526296be259211c2530feb225ebefc8 (diff)
downloadgnulib-49e38169beb576f18a11b1858bd3601a999092dc.tar.gz
git-version-gen: do require git-VC'd files in cwd
* build-aux/git-version-gen: Reject a git version string if there are no commits associated with the current directory. This avoids an unlikely false-positive (unrelated dir whose parent repository also contains a tag matching v*), as pointed out by Giuseppe Scrivano in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/git-version-gen9
1 files changed, 5 insertions, 4 deletions
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index 6262775876..795a98b323 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-10-13.14; # UTC
+scriptversion=2010-10-13.20; # UTC
# Copyright (C) 2007-2010 Free Software Foundation, Inc.
#
@@ -98,9 +98,10 @@ fi
if test -n "$v"
then
: # use $v
-# Otherwise, if we're anywhere beneath a .git directory, and "git describe"
-# output looks sensible, use that to derive a version string.
-elif git rev-parse --verify HEAD > /dev/null 2>&1 \
+# 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"` \