Subject: Re: [PATCH v3] submodule: port subcommand 'set-branch' from shell to C

From: Junio C Hamano <[email-masked]>
Date: Thu, 21 May 2020 12:50:13 -0700

Denton Liu <[email-masked]> writes:

>> Sorry, I may have missed the previous rounds of discussion, but the
>> comment adds more puzzles than it helps readers.  "is currently not
>> used" can be seen from the code, but it is totally unclear why it is
>> not used.  Is that a design decision to always keep quiet or always
>> talkative (if so, "suppress output..." is not a good description)?
>> Is that that this is a WIP patch that the behaviour the option aims
>> to achieve hasn't been implemented?  Is it that no existing callers
>> pass "-q" to the scripted version, so there is no need to support
>> it (if so, why do we even accept it in the first place)?  Is it that
>> all existing callers pass "-q" so we need to accept it, but there is
>> nothing we need to make verbose so the variable is not passed around
>> in the codepath?
>
> As the original author of the shell code, I had it accept -q because,
> with the other subcommmands, you can pass -q either before or after the
> subcommand such as
>
> 	$ git submodule -q sync
>
> or
> 	$ git submodule sync -q
>
> and I wanted set-branch to retain that behaviour even though -q
> ultimately doesn't affect set-branch at all since it's already a quiet
> command.

OK, so "we accept -q for uniformity across subcommands, but there is
nothing to make less verbose in this subcommand" is the answer to my
question.

That cannot be read from "... is currently not used"; especially
with "currently", I expect that most readers would expect we would
start using it in the (near) future, and some other readers would
guess that something used to be talkative and we squelched it using
the option but there no longer is such need because that something
is now quiet by default and there is no option to make it talkative.