* [PATCH] submodule update: silence underlying fetch with "--quiet"
@ 2021-04-30 9:59 Nicholas Clark
0 siblings, 0 replies; only message in thread
From: Nicholas Clark @ 2021-04-30 9:59 UTC (permalink / raw)
To: git; +Cc: Nicholas Clark
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>
---
I tried to adopt the same approach as the previous commit that fixed a
--quiet bug, 3ad0401e9e (submodule update: silence underlying merge/rebase
with "--quiet", 2020-09-30)
I believe that the bugfix is correct but I struggled to create a concise
regression test demonstrates the bug and the bug fix.
That commit is not the only fix of a --quiet bug, so I'm wondering if there
are others still to find. I looked in git-submodule.sh and see many
invocations of git commands in git-submodule.sh, most of which don't pass
${GIT_QUIET:+--quiet} onward, but I don't know git well enough to know which
might matter (ie might generate output), and it feels like cargo-cult to
add that code unthinkingly to every git command, so I didn't do this.
git-submodule.sh | 4 ++--
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
--
2.31.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-30 10:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-30 9:59 [PATCH] submodule update: silence underlying fetch with "--quiet" Nicholas Clark
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).