submodule update: silence underlying fetch with "--quiet"

Commands such as

    $ git submodule update --quiet --init --depth=1

involving shallow clones, call the shell function fetch_in_submodule, which
in turn invokes git fetch.  Pass the --quiet option onward there.

Signed-off-by: Nicholas Clark <nick@ccl4.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nicholas Clark 2021-04-30 09:59:06 +00:00 committed by Junio C Hamano
parent 48bf2fa8ba
commit 62af4bdd42
2 changed files with 26 additions and 2 deletions

View File

@ -420,9 +420,9 @@ fetch_in_submodule () (
cd "$1" &&
if test $# -eq 3
then
echo "$3" | git fetch --stdin ${2:+"$2"}
echo "$3" | git fetch ${GIT_QUIET:+--quiet} --stdin ${2:+"$2"}
else
git fetch ${2:+"$2"}
git fetch ${GIT_QUIET:+--quiet} ${2:+"$2"}
fi
)

View File

@ -1037,4 +1037,28 @@ test_expect_success 'submodule update --quiet passes quietness to merge/rebase'
)
'
test_expect_success 'submodule update --quiet passes quietness to fetch with a shallow clone' '
test_when_finished "rm -rf super4 super5 super6" &&
git clone . super4 &&
(cd super4 &&
git submodule add --quiet file://"$TRASH_DIRECTORY"/submodule submodule3 &&
git commit -am "setup submodule3"
) &&
(cd submodule &&
test_commit line6 file
) &&
git clone super4 super5 &&
(cd super5 &&
git submodule update --quiet --init --depth=1 submodule3 >out 2>err &&
test_must_be_empty out &&
test_must_be_empty err
) &&
git clone super4 super6 &&
(cd super6 &&
git submodule update --init --depth=1 submodule3 >out 2>err &&
test_file_not_empty out &&
test_file_not_empty err
)
'
test_done