bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: git-version-gen w/o git


From: Peter Rosin
Subject: Re: git-version-gen w/o git
Date: Thu, 18 Oct 2012 15:56:46 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

Hi Eric!

On 2012-10-18 15:02, Eric Blake wrote:
> [adding-gnulib]

I'm not subscribed, please (continue to) keep me in CC.

> On 10/18/2012 06:50 AM, Peter Rosin wrote:
>> Hi!
>>
>> I used to use a libtool git checkout from a platform that lacks
>> git [MSYS], but that broke at some point. I would like something
>> like the below to unbreak my work flow.
>>
>> Please?
>>
>> Cheers,
>> Peter
>>
>> diff --git a/Makefile.am b/Makefile.am
>> index 176325c..3bcb419 100644
>> --- a/Makefile.am
>> +++ b/Makefile.am
>> @@ -46,7 +46,7 @@ EXTRA_LTLIBRARIES  =
>>  # Using `cd' in backquotes may print the directory name, use this instead:
>>  lt__cd              = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
>>  
>> -git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '.tarball-version'
>> +git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' 
>> '$(VERSION)' '.tarball-version'
> 
> I'm not sure that makes sense - git-version-gen is ALREADY supposed to
> use the contents of .tarball-version as the fallback version.

No, .tarball-version is the primary source, or the "fallfront" as
some call it :-) Once you create that file you will no longer
attempt to run git, even if you switch back to the platform that
created the git checkout in the first place.

Here's an update of the gnulib parts, with long lines wrapped and
a scriptversion update.

--- gnulib/build-aux/git-version-gen.orig       2012-10-02 17:10:58.935840500 
+0200
+++ gnulib/build-aux/git-version-gen    2012-10-18 15:47:40.711565800 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2012-03-18.17; # UTC
+scriptversion=2012-10-18.13; # UTC
 
 # Copyright (C) 2007-2012 Free Software Foundation, Inc.
 #
@@ -86,6 +86,7 @@
 Options:
 
    --prefix           prefix of git tags (default 'v')
+   --fallback         fallback version to use if \"git --version\" fails
 
    --help             display this help and exit
    --version          output version information and exit
@@ -93,12 +94,14 @@
 Running without arguments will suffice in most cases."
 
 prefix=v
+fallback=
 
 while test $# -gt 0; do
   case $1 in
     --help) echo "$usage"; exit 0;;
     --version) echo "$version"; exit 0;;
     --prefix) shift; prefix="$1";;
+    --fallback) shift; fallback="$1";;
     -*)
       echo "$0: Unknown option '$1'." >&2
       echo "$0: Try '--help' for more information." >&2
@@ -184,8 +187,10 @@
     # Remove the "g" in git describe's output string, to save a byte.
     v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
     v_from_git=1
-else
+elif test -z "$fallback" || git --version >& /dev/null; then
     v=UNKNOWN
+else
+    v=$fallback
 fi
 
 v=`echo "$v" |sed "s/^$prefix//"`
--- gnulib/top/maint.mk.orig    2012-10-02 17:10:43.846614700 +0200
+++ gnulib/top/maint.mk 2012-10-18 15:26:50.200179600 +0200
@@ -1327,7 +1327,8 @@
 
 .PHONY: no-submodule-changes
 no-submodule-changes:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >& /dev/null; then \                   \
          diff=$$(cd $(srcdir) && git submodule -q foreach              \
                  git diff-index --name-only HEAD)                      \
            || exit 1;                                                  \
@@ -1345,7 +1346,8 @@
 # cannot be built from a fresh clone.
 .PHONY: public-submodule-commit
 public-submodule-commit:
-       $(AM_V_GEN)if test -d $(srcdir)/.git; then                      \
+       $(AM_V_GEN)if test -d $(srcdir)/.git                            \
+               && git --version >& /dev/null; then                     \
          cd $(srcdir) &&                                               \
          git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \
              = '$$(git merge-base origin $$sha1)'                      \




reply via email to

[Prev in Thread] Current Thread [Next in Thread]