Browse Source

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>
maint
Nicholas Clark 4 years ago committed by Junio C Hamano
parent
commit
62af4bdd42
  1. 4
      git-submodule.sh
  2. 24
      t/t7406-submodule-update.sh

4
git-submodule.sh

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



24
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 test_done

Loading…
Cancel
Save