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

Re: [PATCH 0/2] Use %as and %cs as pretty format flags

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:45:15

Possibly related (same subject, not in this thread)

Jeff King [off-list ref] writes:
On Thu, Aug 28, 2008 at 04:36:51PM -0700, Junio C Hamano wrote:
quoted
I was actually thinking about rejecting this, asking for something that
allows to express all the other %[ai][dDri] format can express, and
perhaps more.  So I think "%ad(short)" is a good direction to go, except
that 'd' is already taken.  Perhaps %a(date), %a(shortdate,local),...?
I was thinking we could accept %ad _or_ %ad(short), but of course
introducing the latter can break existing "%ad(my other random text)"
which is a bad idea.

I really think some consideration should be given to introducing
arbitrary "arguments" to formatting specifiers, of which this is one
example. Another that has been mentioned is pulling an arbitrary element
from a list.

How do you feel about a brand new syntax (and supporting the old, of
course) that is syntactically a little easier to extend. Like:

  %(macro, key=val, key=val)

e.g.

  %(authordate, format=short, tz=local)

where the syntax can be easily parsed without understanding what
"authordate" means.  Jakub already suggested something akin to RPM's
macro expansion, though I haven't looked too closely at it.
I'd rather we do not introduce yet another pretty-printing /
formatting syntax, and use the same syntax as git-for-each-ref uses
for extra formatting, 

  As a special case for the date-type fields, you may specify a format for
  the date by adding one of `:default`, `:relative`, `:short`, `:local`,
  `:iso8601` or `:rfc2822` to the end of the fieldname; e.g.
  `%(taggerdate:relative)`.

which incindentally (or not) is the same as rpm uses

  Alternate output formats may be requested by following the tag with  :type-
  tag.  Currently, the following types are supported:

  :armor  Wrap a public key in ASCII armor.

  :base64
         Encode binary data using base64.

  :date  Use strftime(3) "%c" format.

  :day   Use strftime(3) "%a %b %d %Y" format.

  :depflags
         Format dependency flags.

  :fflags
         Format file flags.

  :hex   Format in hexadecimal.

  :octal Format in octal.

  :perms Format file permissions.

  :shescape
         Escape single quotes for use in a script.

  :triggertype
         Display trigger suffix.

P.S. I Agree with %ad and the like respecting --date=<type>
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help