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