On Sat, May 28, 2011 at 12:17:40PM -0700, Junio C Hamano wrote: > Carlos Martín Nieto <cmn@xxxxxxxx> 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. > > 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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Attachment:
signature.asc
Description: Digital signature