Re: [PATCH v2] submodule: port subcommand 'set-branch' from shell to C
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- May 20, 2020, 14:45 UTC
- Message-ID
- <CAPig+cSr0_eOOi6xiOLY0bzJ33ewpib+MiMjmtay_bi4J9D_=w@mail.gmail.com>
- In-Reply-To
- <20200520121530.GA7992@konoha>
On Wed, May 20, 2020 at 8:23 AM Shourya Shukla <shouryashukla.oo@gmail.com> wrote:
Show 13 quoted lines
> On 19/05 02:57, Eric Sunshine wrote: > > On Tue, May 19, 2020 at 2:27 PM Shourya Shukla > > <shouryashukla.oo@gmail.com> wrote: > > > + OPT__QUIET(&quiet, > > > > However, the bigger question is: Why is the --quiet option even here? > > None of the code in this function ever consults the 'quiet' variable, > > so its presence seems pointless. > > I actually wanted to have *some* use of the `quiet` option and delivered > it in the v1, but after some feedback had to scrap it. You may have a > look here: > https://lore.kernel.org/git/20200513201737.55778-2-shouryashukla.oo@gmail.com/
I agree with Denton's conclusion about not introducing needless noise merely to give the --quiet option something to squelch. And, to answer your question about when and when not to print something, a good "Unix way" guideline is that "silence is golden"[1].
[1]: http://www.catb.org/esr/writings/taoup/html/ch01s06.html#id2878450
Show 11 quoted lines
> > Looking at the git-submodule documentation, I see that it is already > > documented as accepted --quiet, so it may make some sense for you to > > accept the option here. However, it might be a good idea either to > > have an in-code comment or a blurb in the commit message explaining > > that this C rewrite accepts the option for backward-compatibility (and > > for future extension), not because it is actually used presently. > > That seems like a better idea; should I add this comment just above the > `options` array? BTW, the shell version has a comment about this, > see: > https://github.com/git/git/blob/v2.26.2/git-submodule.sh#L727
It would be a good idea to attach a comment like that to the declaration of 'quiet' in the C code (rather than placing it above the 'options' array). For instance:
/* for backward compatibility but not presently used */
int quiet = 0;Show 10 quoted lines
> > > + die(_("--branch and --default do not make sense together"));
> >
> > A more precise way to say this is:
> >
> > die(_("--branch and --default are mutually exclusive"));
>
> Will that be clear to everyone? What I mean is maybe a person from a
> non-mathematical background (someone doing programming as a hobby maybe)
> will not grasp at this at one go and will have to search it's meaning
> online. Isn't it fine as-is?Others have already responded to this up-thread...