Re: git show and the --quiet option
- From
Carlos Martín Nieto <cmn@elego.de>
- Date
- May 30, 2011, 09:32 UTC
- Message-ID
- <20110530093259.GA2990@bee.lab.cmartin.tk>
- In-Reply-To
- <7vhb8eprcb.fsf@alter.siamese.dyndns.org>
On Sat, May 28, 2011 at 12:17:40PM -0700, Junio C Hamano wrote:
Show 24 quoted lines
> Carlos Martín Nieto <cmn@elego.de> writes:
>
> >> 1c40c36b ("log: convert to parse-options"). Was this intentional?
> >
> > Very much so.
> >> ...
> > The long answer is that the log family (and git-format-patch, which
> > is where this started) never actually accepted --quiet, so it would
> > get passed down to the diff machinery. This (for complicated reasons
> > I'm not sure I comletely understand, but that have to do with the
> > internal handling of 'quiet' as 'quick') caused every second commit
> > not to show.
>
> Yes, "git format-patch" that gives empty patch for every other commit
> would have been incorrect, but "--quiet" to squelch patch output,
> especially in the context of "show" whose default is to show patch, is
> something people would naturally expect, even though admittedly it was
> doing so by accident.
>
> How does this patch look?
>
> It does not fix "git show master~10 master^..master", but instead of just
> hijacking and ignoring the --quiet option like your patch did, it actually
> flips the option the user wanted to affect from the command line.It's fine if that's what we want to do. The reason I blocked --quiet instead of converting it to -s is because it seemed less surprising than passing --quiet and still getting output (if I pass --quiet, I'd expect the application to really be quiet), which doesn't happen in the commands that accept --quiet on purpose. Then again, the log family doesn't make any sense without any output, so if you argue that way, --quiet means "quieter", which makes the interface less consistent, but I don't feel that strongly about it
So sure, if you think it helps, apply it.
Show 22 quoted lines
> > builtin/log.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/builtin/log.c b/builtin/log.c > index 27849dc..224b167 100644 > --- a/builtin/log.c > +++ b/builtin/log.c > @@ -107,6 +107,8 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix, > PARSE_OPT_KEEP_DASHDASH); > > argc = setup_revisions(argc, argv, rev, opt); > + if (quiet) > + rev->diffopt.output_format |= DIFF_FORMAT_NO_OUTPUT; > > /* Any arguments at this point are not recognized */ > if (argc > 1) > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >