submodule update: silence underlying merge/rebase with "--quiet"

Commands such as

    $ git pull --rebase --recurse-submodules --quiet

produce non-quiet output from the merge or rebase.  Pass the --quiet
option down when invoking "rebase" and "merge".

Also fix the parsing of git submodule update -v.

When e84c3cf3 (git-submodule.sh: accept verbose flag in cmd_update
to be non-quiet, 2018-08-14) taught "git submodule update" to take
"--quiet", it apparently did not know how ${GIT_QUIET:+--quiet}
works, and reviewers seem to have missed that setting the variable
to "0", rather than unsetting it, still results in "--quiet" being
passed to underlying commands.

Signed-off-by: Theodore Dubois <tbodt@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Theodore Dubois 2020-09-30 12:50:53 -07:00 committed by Junio C Hamano
parent 47ae905ffb
commit 3ad0401e9e
2 changed files with 15 additions and 3 deletions

View File

@ -465,7 +465,7 @@ cmd_update()
GIT_QUIET=1 GIT_QUIET=1
;; ;;
-v) -v)
GIT_QUIET=0 unset GIT_QUIET
;; ;;
--progress) --progress)
progress=1 progress=1
@ -639,13 +639,13 @@ cmd_update()
say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")" say_msg="$(eval_gettext "Submodule path '\$displaypath': checked out '\$sha1'")"
;; ;;
rebase) rebase)
command="git rebase" command="git rebase ${GIT_QUIET:+--quiet}"
die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")" die_msg="$(eval_gettext "Unable to rebase '\$sha1' in submodule path '\$displaypath'")"
say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")" say_msg="$(eval_gettext "Submodule path '\$displaypath': rebased into '\$sha1'")"
must_die_on_failure=yes must_die_on_failure=yes
;; ;;
merge) merge)
command="git merge" command="git merge ${GIT_QUIET:+--quiet}"
die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")" die_msg="$(eval_gettext "Unable to merge '\$sha1' in submodule path '\$displaypath'")"
say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")" say_msg="$(eval_gettext "Submodule path '\$displaypath': merged in '\$sha1'")"
must_die_on_failure=yes must_die_on_failure=yes

View File

@ -1022,4 +1022,16 @@ test_expect_success 'git clone passes the parallel jobs config on to submodules'
rm -rf super4 rm -rf super4
' '
test_expect_success 'submodule update --quiet passes quietness to merge/rebase' '
(cd super &&
test_commit -C rebasing message &&
git submodule update --rebase --quiet >out 2>err &&
test_must_be_empty out &&
test_must_be_empty err &&
git submodule update --rebase -v >out 2>err &&
test_file_not_empty out &&
test_must_be_empty err
)
'
test_done test_done