diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2022-01-23 18:10:11 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2022-01-23 18:43:16 +0100 |
commit | 1183d5ebfef96603df1217e3ae3a94506b89ce26 (patch) | |
tree | 522e4b830241f803b17c879d74d4353dc44d829d /bootstrap | |
parent | 8b96c82b05c68b17c64577be52349b6beae5f655 (diff) | |
download | bison-1183d5ebfef96603df1217e3ae3a94506b89ce26.tar.gz |
gnulib: update
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 22 |
1 files changed, 19 insertions, 3 deletions
@@ -4,7 +4,7 @@ scriptversion=2021-04-11.09; # UTC # Bootstrap this package from checked-out sources. -# Copyright (C) 2003-2021 Free Software Foundation, Inc. +# Copyright (C) 2003-2022 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -763,9 +763,25 @@ if $use_gnulib; then shallow= if test -z "$GNULIB_REVISION"; then git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ + || cleanup_gnulib + else + git fetch -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + mkdir -p "$gnulib_path" + # Only want a shallow checkout of $GNULIB_REVISION, but git does not + # support cloning by commit hash. So attempt a shallow fetch by commit + # hash to minimize the amount of data downloaded and changes needed to + # be processed, which can drastically reduce download and processing + # time for checkout. If the fetch by commit fails, a shallow fetch can + # not be performed because we do not know what the depth of the commit + # is without fetching all commits. So fallback to fetching all commits. + git -C "$gnulib_path" init + git -C "$gnulib_path" remote add origin ${GNULIB_URL:-$default_gnulib_url} + git -C "$gnulib_path" fetch $shallow origin "$GNULIB_REVISION" \ + || git -C "$gnulib_path" fetch origin \ + || cleanup_gnulib + git -C "$gnulib_path" reset --hard FETCH_HEAD fi - git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ - || cleanup_gnulib trap - 1 2 13 15 fi |