diff options
author | Jim Meyering <meyering@redhat.com> | 2011-01-03 19:35:19 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-01-03 20:39:03 +0100 |
commit | 98e2bedbc92b816b68ee8092224b1e11f37b6596 (patch) | |
tree | 9bfd8cdde9320a36ff51c31aaea7a1150072c9e7 /build-aux/git-version-gen | |
parent | 55b6628590f922e9f47da60a3fc7a2030f80cddf (diff) | |
download | gnulib-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-x | build-aux/git-version-gen | 8 |
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 |