# HG changeset patch # User Jim Meyering # Date 1286978916 -7200 # Node ID ffc169da68eb1ddcaee2f943f60e7aa65e9f6271 # Parent d70929a44412d8c764b8f0791e80e816f599a8d3 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 diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-10-13 Jim Meyering + 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. diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen --- 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"` \