git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
> 
Previous: Junio C HamanoNext: Drew Northup
Message 6 of 10 in “git show and the --quiet option”
  1. Gustaf HendebyMay 28, 2011
  2. Carlos Martín NietoMay 28, 2011
  3. Gustaf HendebyMay 28, 2011
  4. Carlos Martín NietoMay 29, 2011
  5. Junio C HamanoMay 28, 2011
  6. Carlos Martín NietoMay 30, 2011
  7. Drew NorthupJun 2, 2011
  8. Carlos Martín NietoJun 5, 2011
  9. Junio C HamanoMay 28, 2011
  10. Junio C HamanoMay 28, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.