Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

Re: [PATCH] Add --format that is a synonym to --pretty

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:16

Possibly related (same subject, not in this thread)

Jeff King [off-list ref] writes:
On Tue, Feb 24, 2009 at 01:06:26PM +0900, Nanako Shiraishi wrote:
quoted
Some people prefer to call the pretty-print styles "format", and get
annoyed to see "git log --format=short" fail.  Introduce it as a synonym
to --pretty so that both can be used interchangeably without breaking
examples in existing web pages or ppeople's expectations.
Thinking about this in context of the proposal to support --oneline (et
al), I think this part by itself gives confusing behavior. That is,
--pretty=oneline can be shortened to --oneline, but --pretty=format:$x
cannot be shortened to --format=$x.

But that is modified by what happens next:
quoted
Having to say --format="format:%h %s" is redundant because none of the
predefined pretty-print styles have per-cent sign in it, so this patch
also makes it possible to say --pretty="%h %s" (and --format="%h %s").
This implies that --format=$x is equivalent to --pretty=format:$x, but
the patch actually implements the equivalent of --pretty=tformat:$x.

So that raises two concerns:

  1. We have to pick one as the "most common" for this shorthand; are we
     sure tformat is it? (Personally, I think it is, but I think it is a
     subtle point which we should be sure of).

  2. This _almost_ fixes the point I raised above. That is, --format=$x
     would match its longer --pretty=format:$x counterpart. Except that
     --format does _tformat_, which I would have expected to get via
     --tformat under such a proposal.
I think the patch suffers from the same problem Felipe's patch had, by
conflating two issues.  Because it had the ":some string with %" shorthand
support in addition to "--format is another way to spell --pretty", and it
did that only to "--format" side, I initially misunderstood Felipe's patch
as primarily addressing "Why do we have to say '--pretty=format:%h %s'
when it is obvious from the context that '%h %s' is a format".  It turns
out that he did not like "pretty" and wanted to be able to say "format"
even for the predefined pretty-print styles.

If we split this round into two patches, one that makes --format a synonym
to --pretty, and then another one that allows --{format,pretty}='%h %s',
and *stop there*, then we wouldn't have difficulties.

I do not think --oneline is a bad idea, but I do not think we should
explain it as "You can write anything that you can write after '--pretty='
without 'pretty=' and they mean the same thing".  That's where your
concern arises from.  You just say "'--pretty=oneline --abbrev-commit' is
so often used, so we have a shorthand for the whole thing: --oneline",
without implying anything about other things such as --short or --tformat.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help