diff options
author | Nicholas Clark <nick@ccl4.org> | 2021-04-30 12:59:06 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-05-03 06:24:38 +0300 |
commit | 62af4bdd423f5f3988dad97abcdd7adfba0756c4 (patch) | |
tree | 24afc8217158fa081400145d589d878be309c288 | |
parent | 48bf2fa8bad054d66bd79c6ba903c89c704201f7 (diff) |
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>
-rwxr-xr-x | git-submodule.sh | 4 | ||||
-rwxr-xr-x | t/t7406-submodule-update.sh | 24 |
2 files changed, 26 insertions, 2 deletions
diff --git a/git-submodule.sh b/git-submodule.sh index eb90f18229..4678378424 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -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 ) diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index ff3ba5422e..f4f61fe554 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -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 |