summaryrefslogtreecommitdiff
path: root/build-aux/git-version-gen
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2011-01-03 19:35:19 +0100
committerJim Meyering <meyering@redhat.com>2011-01-03 20:39:03 +0100
commit98e2bedbc92b816b68ee8092224b1e11f37b6596 (patch)
tree9bfd8cdde9320a36ff51c31aaea7a1150072c9e7 /build-aux/git-version-gen
parent55b6628590f922e9f47da60a3fc7a2030f80cddf (diff)
downloadgnulib-98e2bedbc92b816b68ee8092224b1e11f37b6596.tar.gz
git-version-gen: handle failed "git rev-list"
* build-aux/git-version-gen: Rather than leaking a "fatal" error from git and proceeding as if it had succeeded but printed no SHA1 checksums, suppress the diagnostic and handle the failure. Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
Diffstat (limited to 'build-aux/git-version-gen')
-rwxr-xr-xbuild-aux/git-version-gen8
1 files changed, 6 insertions, 2 deletions
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index c337673429..dd893f9e4d 100755
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,6 +1,6 @@
#!/bin/sh
# Print a version string.
-scriptversion=2011-01-03.10; # UTC
+scriptversion=2011-01-03.18; # UTC
# Copyright (C) 2007-2011 Free Software Foundation, Inc.
#
@@ -122,8 +122,12 @@ then
# result is the same as if we were using the newer version
# of git describe.
vtag=`echo "$v" | sed 's/-.*//'`
- numcommits=`git rev-list "$vtag"..HEAD | wc -l`
+ commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \
+ || { commit_list=failed;
+ echo "$0: WARNING: git rev-list failed" 1>&2; }
+ numcommits=`echo "$commit_list" | wc -l`
v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
+ test "$commit_list" = failed && v=UNKNOWN
;;
esac