Re: git show and the --quiet option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

 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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]