git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
authorStefan Beller <sbeller@google.com>
Tue, 14 Aug 2018 18:22:02 +0000 (11:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 14 Aug 2018 19:48:28 +0000 (12:48 -0700)
commite84c3cf3dc3c3140d317f7ed0b18768adbec0401
tree3a18eb8cf43cbb6a68f8e09a2de3424755610d00
parenta56771a668dd4963675914bc5da0e1e015952dae
git-submodule.sh: accept verbose flag in cmd_update to be non-quiet

In a56771a668d (builtin/pull: respect verbosity settings in submodules,
2018-01-25), we made sure to pass on both quiet and verbose flag from
builtin/pull.c to the submodule shell script. However git-submodule doesn't
understand a verbose flag, which results in a bug when invoking

  git pull --recurse-submodules -v [...]

There are a few different approaches to fix this bug:

1) rewrite 'argv_push_verbosity' or its caller in builtin/pull.c to
   cap opt_verbosity at 0. Then 'argv_push_verbosity' would only add
   '-q' if any.

2) Have a flag in 'argv_push_verbosity' that specifies if we allow adding
  -q or -v (or both).

3) Add -v to git-submodule.sh and make it a no-op

(1) seems like a maintenance burden: What if we add code after
the submodule operations or move submodule operations higher up,
then we have altered the opt_verbosity setting further down the line
in builtin/pull.c.

(2) seems like it could work reasonably well without more regressions

(3) seems easiest to implement as well as actually is a feature with the
    last-one-wins rule of passing flags to Git commands.

Reported-by: Jochen K├╝hner
Signed-off-by: Stefan Beller <sbeller@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-submodule.sh