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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> writes:

> On Fri, Oct 16, 2009 at 12:41:43AM +0200, Thomas Rast wrote:

> > 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.

Or we could go the whole nine miles, and implement some subset of
advanced shell syntax, 

  %(parameter:-word)
  %(parameter:=word)
  %(parameter:?word)
  %(parameter:+word)

RPM spec syntax, 

  %(?parameter)      # expand if exists
  %(!?parameter)     # expand if does not exists
  %(?parameter:literal)
  %(!?parameter:literal)

or RPM queryformat

  %10(parameter)
  %-30(parameter)

  [    %(messagebody)\n]   # messagebody is list of lines
  [%(=param) %(list)\n]    # param is not a list; repeat it

  %|parameter?{present}:{missing}|

  %(parameter:date)
  %(parameter:shescape)

-- 
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]