Re: What's cooking in git.git (Oct 2017, #01; Wed, 4)
- Date: Wed, 4 Oct 2017 11:07:37 -0700
- From: Taylor Blau <me@xxxxxxxxxxxx>
- Subject: Re: What's cooking in git.git (Oct 2017, #01; Wed, 4)
On Wed, Oct 04, 2017 at 05:46:21PM +0900, Junio C Hamano wrote:
> Jeff King <peff@xxxxxxxx> writes:
> >> - pretty.c: delimit "%(trailers)" arguments with ","
> >> "git for-each-ref --format=..." learned a new format element,
> >> %(trailers), to show only the commit log trailer part of the log
> >> message.
> >> Will merge to 'next'.
> > I think we want the first patch of this series to graduate before v2.15,
> > even if the rest doesn't make it. It tweaks a new syntax introduced
> > earlier in this cycle by jk/trailers-parse. If we ship without the
> > tweak, then we'll have to support the colon-delimiter to remain
> > backwards-compatible.
> Yeah, thanks for reminding me. I actually was hoping that this will
> prove to be stable enough by the time -rc1 gets tagged, but yes, the
> bottom one looks innocuous/safe enough and should be fast-tracked to
> 'master' soonish.
It may make sense to send my other series to 'master' as well
("ref-filter.c: pass empty-string as NULL to atom parsers").
The series you're discussing here adds support for "empty" sub-agruments
(via: --format=%(contents:trailers:)), but Peff points out that this is
not a consistent user experience:
> Doh, that string_list behavior is what I was missing in my earlier
> comments. I agree this is probably the best way of doing it. I'm tempted
> to say that parse_ref_filter_atom() should do a similar thing. Right now
> we've got:
> $ git for-each-ref --format='%(refname)' | wc
> 2206 2206 79929
> $ git for-each-ref --format='%(refname:short)' | wc
> 2206 2206 53622
> $ git for-each-ref --format='%(refname:)' | wc
> fatal: unrecognized %(refname:) argument:
> 0 0 0
"ref-filter.c: pass empty-string as NULL to atom parsers" makes this
behavior of allowing empty sub-argument atom formats in
git-for-each-ref(1) consistently OK.
To avoid introducing a case where %(atom:) is sometimes allowed and
sometimes not, I would recommend that both of these patches be applied
to master at the same time.