Re: [PATCH 0/2] Use %as and %cs as pretty format flags
- Date: Fri, 29 Aug 2008 01:12:18 -0700 (PDT)
- From: Jakub Narebski <jnareb@xxxxxxxxx>
- Subject: Re: [PATCH 0/2] Use %as and %cs as pretty format flags
Jeff King <peff@xxxxxxxx> writes:
> On Thu, Aug 28, 2008 at 04:36:51PM -0700, Junio C Hamano wrote:
>
> > 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
--
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