+2024-04-28 Bruno Haible <bruno@clisp.org>
+
+ bootstrap: Support checking out a recent GNULIB_REVISION, part 2.
+ Reported by Markus Mützel <markus.muetzel@gmx.de> in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00507.html>.
+ * top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): If using a submodule
+ and the 'git checkout' command fails, fetch the newer commits and then
+ retry it.
+ * build-aux/bootstrap: Regenerated.
+
2024-04-27 Collin Funk <collin.funk1@gmail.com>
gnulib-tool.py: Preserve module ordering in --create-megatestdir.
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2024-04-27.17; # UTC
+scriptlibversion=2024-04-28.09; # UTC
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
# The 'git checkout "$GNULIB_REVISION"' command succeeds if the
# GNULIB_REVISION is a commit hash that exists locally, or if it is
# branch name that can be fetched from origin. It fails, however,
- # if the GNULIB_REVISION is a commit hash that only exists in origin.
- # In this case, we need a 'git fetch' and then retry
+ # if the GNULIB_REVISION is a commit hash that only exists in
+ # origin. In this case, we need a 'git fetch' and then retry
# 'git checkout "$GNULIB_REVISION"'.
(cd "$GNULIB_SRCDIR" \
&& { git checkout "$GNULIB_REVISION" 2>/dev/null \
# The subdirectory 'gnulib' already exists.
if test -n "$GNULIB_REVISION"; then
if test -d "$gnulib_path/.git"; then
- (cd "$gnulib_path" && git checkout "$GNULIB_REVISION") || exit 1
+ # The 'git checkout "$GNULIB_REVISION"' command succeeds if the
+ # GNULIB_REVISION is a commit hash that exists locally, or if it is
+ # branch name that can be fetched from origin. It fails, however,
+ # if the GNULIB_REVISION is a commit hash that only exists in
+ # origin. In this case, we need a 'git fetch' and then retry
+ # 'git checkout "$GNULIB_REVISION"'.
+ (cd "$gnulib_path" \
+ && { git checkout "$GNULIB_REVISION" 2>/dev/null \
+ || { git fetch origin && git checkout "$GNULIB_REVISION"; }
+ }
+ ) || exit $?
else
die "Error: GNULIB_REVISION is specified in bootstrap.conf," \
"but '$gnulib_path' contains no git history"
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2024-04-27.17; # UTC
+scriptlibversion=2024-04-28.09; # UTC
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
# The 'git checkout "$GNULIB_REVISION"' command succeeds if the
# GNULIB_REVISION is a commit hash that exists locally, or if it is
# branch name that can be fetched from origin. It fails, however,
- # if the GNULIB_REVISION is a commit hash that only exists in origin.
- # In this case, we need a 'git fetch' and then retry
+ # if the GNULIB_REVISION is a commit hash that only exists in
+ # origin. In this case, we need a 'git fetch' and then retry
# 'git checkout "$GNULIB_REVISION"'.
(cd "$GNULIB_SRCDIR" \
&& { git checkout "$GNULIB_REVISION" 2>/dev/null \
# The subdirectory 'gnulib' already exists.
if test -n "$GNULIB_REVISION"; then
if test -d "$gnulib_path/.git"; then
- (cd "$gnulib_path" && git checkout "$GNULIB_REVISION") || exit 1
+ # The 'git checkout "$GNULIB_REVISION"' command succeeds if the
+ # GNULIB_REVISION is a commit hash that exists locally, or if it is
+ # branch name that can be fetched from origin. It fails, however,
+ # if the GNULIB_REVISION is a commit hash that only exists in
+ # origin. In this case, we need a 'git fetch' and then retry
+ # 'git checkout "$GNULIB_REVISION"'.
+ (cd "$gnulib_path" \
+ && { git checkout "$GNULIB_REVISION" 2>/dev/null \
+ || { git fetch origin && git checkout "$GNULIB_REVISION"; }
+ }
+ ) || exit $?
else
die "Error: GNULIB_REVISION is specified in bootstrap.conf," \
"but '$gnulib_path' contains no git history"