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