changeset 13800:ffc169da68eb

git-version-gen: don't require that .git/ be in the current dir * build-aux/git-version-gen: Adjust this script so that it works when run from any working directory beneath the top-level .git/- containing directory. Inspired by a patch from Giusseppe Scrivano, http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
author Jim Meyering <meyering@redhat.com>
date Wed, 13 Oct 2010 16:08:36 +0200
parents d70929a44412
children 634db78ff254
files ChangeLog build-aux/git-version-gen
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2010-10-13  Jim Meyering  <meyering@redhat.com>
 
+	git-version-gen: don't require that .git/ be in the current dir
+	* build-aux/git-version-gen: Adjust this script so that it works
+	when run from any working directory beneath the top-level .git/-
+	containing directory.  Inspired by a patch from Giusseppe Scrivano,
+	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
+
 	test-select: avoid warn_unused_result warnings
 	* tests/test-select.c: Include "macros.h".
 	ASSERT that each call to read, write, and pipe succeeds.
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2010-06-14.19; # UTC
+scriptversion=2010-10-13.14; # UTC
 
 # Copyright (C) 2007-2010 Free Software Foundation, Inc.
 #
@@ -98,7 +98,9 @@
 if test -n "$v"
 then
     : # use $v
-elif test -d .git \
+# 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 \
     && 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"` \