[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bootstrap: improve gnulib git update logic
From: |
Kai Torben Ohlhus |
Subject: |
bootstrap: improve gnulib git update logic |
Date: |
Mon, 17 Aug 2020 11:28:41 +0900 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
Dear Gnulib maintainers,
The GNU Octave project successfully uses your great library for many
years. We would like to contribute a local change the Octave project
has tested for the past half year on your bootstrap script [1,2,3] (also
attached as file to this email):
------------------------------------------------------------
diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index 8f76d6962..3a87e7f7e 100755
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -670,6 +670,11 @@ if $use_gnulib; then
|| cleanup_gnulib
trap - 1 2 13 15
+
+ elif test -n "$GNULIB_REVISION" \
+ && ! git --git-dir="$gnulib_path"/.git cat-file \
+ commit "$GNULIB_REVISION"; then
+ git --git-dir="$gnulib_path"/.git fetch
fi
GNULIB_SRCDIR=$gnulib_path
;;
------------------------------------------------------------
The idea is as follows (with dates as fake revision IDs):
- We have an "old" gnulib clone (ID 2020-08-01) and want to build
a newer revision (ID 2020-08-15)
- 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.
To resolve it, we either have to update (fetch/pull) the gnulib clone
manually, or we developed the aforementioned patch to fetch recent
changes, if the desired revision is not fetched in the local clone.
Thank you for your time and help,
Kai
[1] https://savannah.gnu.org/bugs/?57044
[2]
https://octave.discourse.group/t/update-gnulib-ahead-of-octave-6-release-candidate/76
[3] https://hg.savannah.gnu.org/hgweb/octave/rev/717e3780805c
(still using "pull", later changed to "fetch")
bootstrap.diff
Description: Text Data
- bootstrap: improve gnulib git update logic,
Kai Torben Ohlhus <=