Re: git show and the --quiet option

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

 



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


[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]