+2024-04-27 Bruno Haible <bruno@clisp.org>
+
+ bootstrap: Support checking out a recent GNULIB_REVISION.
+ Reported by Markus Mützel <markus.muetzel@gmx.de> in
+ <https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00462.html>.
+ * top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): If the
+ 'git checkout' command fails, fetch the newer commits and then retry it.
+ * build-aux/bootstrap: Regenerated.
+
2024-04-27 Bruno Haible <bruno@clisp.org>
ctime, localtime, tzset, wcsftime: Fix env access (regr. 2024-02-09).
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2024-04-13.15; # UTC
+scriptlibversion=2024-04-27.17; # UTC
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
|| die "Error: --gnulib-srcdir or \$GNULIB_SRCDIR is specified," \
"but does not contain gnulib-tool"
if test -n "$GNULIB_REVISION" && $use_git; then
- (cd "$GNULIB_SRCDIR" && git checkout "$GNULIB_REVISION") || exit $?
+ # 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_SRCDIR" \
+ && { git checkout "$GNULIB_REVISION" 2>/dev/null \
+ || { git fetch origin && git checkout "$GNULIB_REVISION"; }
+ }
+ ) || exit $?
fi
else
if ! $use_git; then
# A library of shell functions for autopull.sh, autogen.sh, and bootstrap.
-scriptlibversion=2024-04-13.15; # UTC
+scriptlibversion=2024-04-27.17; # UTC
# Copyright (C) 2003-2024 Free Software Foundation, Inc.
#
|| die "Error: --gnulib-srcdir or \$GNULIB_SRCDIR is specified," \
"but does not contain gnulib-tool"
if test -n "$GNULIB_REVISION" && $use_git; then
- (cd "$GNULIB_SRCDIR" && git checkout "$GNULIB_REVISION") || exit $?
+ # 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_SRCDIR" \
+ && { git checkout "$GNULIB_REVISION" 2>/dev/null \
+ || { git fetch origin && git checkout "$GNULIB_REVISION"; }
+ }
+ ) || exit $?
fi
else
if ! $use_git; then