git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jakub Narebski <jnareb@gmail.com>
Date
Aug 29, 2008, 08:12 UTC
Message-ID
<m3hc94qlyc.fsf@localhost.localdomain>
In-Reply-To
<20080828235420.GB30195@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 28 quoted lines
> 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
Previous: Junio C HamanoNext: Avery Pennarun
Message 8 of 9 in “Use %as and %cs as pretty format flags”
  1. 0/2 Use %as and %cs as pretty format flagsNathan Panike, Aug 28, 2008
  2. Jeff KingAug 28, 2008
  3. Junio C HamanoAug 28, 2008
  4. Jeff KingAug 28, 2008
  5. Nathan W. PanikeAug 29, 2008
  6. Jeff KingAug 29, 2008
  7. Junio C HamanoAug 29, 2008
  8. Jakub NarebskiAug 29, 2008
  9. Avery PennarunAug 29, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.