Re: bootstrap: improve gnulib git update logic

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: bootstrap: improve gnulib git update logic

siko1056
Hi Bruno,

I share our conversation [1] with the Octave mailing list.

When GNULIB_SRCDIR is set, this addition should probably work as well.
Looking at it, maybe it can be fixed by extending your code section [2]
by "git fetch":

  if test -d "$GNULIB_SRCDIR"/.git && test -n "$GNULIB_REVISION" \
     && ! git_modules_config submodule.gnulib.url >/dev/null; then
    (cd "$GNULIB_SRCDIR" && git fetch && git checkout
"$GNULIB_REVISION") || cleanup_gnulib
  fi

Maybe Markus has another opinion on this.

Kai


[1] https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00150.html
[2]
https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=build-aux/bootstrap;h=8f76d696213ae5b1827b44c351e7c667f498cbd7;hb=HEAD#l707


On 8/18/20 3:40 AM, Bruno Haible wrote:

> Hi Kai,
>
>> - If we run in the "old" gnulib clone
>>
>>      GNULIB_REVISION=2020-08-15 ./bootstrap
>>
>>   we get the message
>>
>>      fatal: reference is not a tree: 2020-08-15
>>
>>   even though revision 2020-08-15 exists.  It is just not available
>>   in the "old" local clone.
>
> The patch seems to handle only the case that the user has not set
> GNULIB_SRCDIR.
>
> Shouldn't it apply also to the case with GNULIB_SRCDIR? I.e. add the new
> code near this one:
>
>   if test -d "$GNULIB_SRCDIR"/.git && test -n "$GNULIB_REVISION" \
>      && ! git_modules_config submodule.gnulib.url >/dev/null; then
>     (cd "$GNULIB_SRCDIR" && git checkout "$GNULIB_REVISION") || cleanup_gnulib
>   fi
>
> Bruno
>