Thread (40 messages) flat view 40 messages, 7 authors, 2016-06-15

Re: [PATCH v2 0/5] Pretty formats for reflog data

From: Jeff King <hidden>
Date: 2016-06-15 22:47:33

On Fri, Oct 16, 2009 at 12:41:43AM +0200, Thomas Rast wrote:
Jeff King wrote:
quoted
Maybe a better solution would be a "short name" variant for pretty
format specifiers. We already have %(refname) and %(refname:short) [...]
The tricky part would be deciding on a syntax. This seems to come up a
fair bit.
Ok, I settled for %g[dDs] for now to save on letters.  I'm saving the
syntax question for a later series while we discuss this one ;-)
:) That is probably sensible. Your %g[dD] doesn't support selecting
between the numbered version and the "date" version, which is something
we might want, but certainly it is no worse than the status quo (and
doing something like that probably _would_ want an extended syntax, as
you now have two orthogonal arguments: shorten and date/numbered).
I think going for %(...) wouldn't be too bad since we already have
that in for-each-ref, and it can be backwards compatible.  So we would
have different sets of short and long specifiers, e.g.

  %ae = %(authoremail)
  %aE = %(authoremail:mailmap)

We can then pass arguments via some yet-to-be decided syntax, say,
%(body:indent(10)).
That seems reasonable to me, though if we can limit ourselves to one
argument per specifier (I suspect most specifiers would simply be
boolean, but a few may take numbers or strings), then something like
%(body:indent=10) might be a little more readable.

It would also be nice to have some sort of conditional inclusion, which
could deal with your extra ": " in patch 3. Either something like:

  %(reflog:short)%(reflog:+: )

or even

  %(reflog:short:prefix=\: )

and note that allowing arbitrary arguments means we get to deal with
quoting.

But that is all for another potential series.
Other changes in this version include:

* I followed your struct suggestion, which is the new 1/5.
Thanks. It looks like it didn't turn out to be too invasive, and I think
some of the callsites are a bit more readable.
* I fixed the warning that Junio found (and finally found the right
  combination of -W flags, though I cannot compile with -Werror myself
  because of *other* warnings...)
I always compile with -Wall -Werror (including testing your series);
what warnings are you getting?
Thomas Rast (5):
  Refactor pretty_print_commit arguments into a struct
  reflog-walk: refactor the branch@{num} formatting
  Introduce new pretty formats %g[sdD] for reflog information
  stash list: use new %g formats instead of sed
  stash list: drop the default limit of 10 stashes
Thanks, this series looks really good to me. I have a few comments on
patch 3 which I'll send separately.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help