Jeff King writes: > On Mon, Jul 27, 2020 at 08:37:26PM +0200, Christian Couder wrote: > >> > > I noticed some undocumented and (at least to me) surprising behavior in >> > > trailers.c. >> > > >> > > When configuring a value in trailer.<token>.key it causes the trailer to >> > > be normalized to that in "git interpret-trailers --parse". >> > > E.g: >> > > $ printf '\naCKed: Zz\n' | \ >> > > git -c 'trailer.Acked.key=Acked' interpret-trailers --parse >> > > will emit: "Acked: Zz" >> >> Yeah, I think that's nice, as it can make sure that the key appears in >> the same way. It's true that it would be better if it would be >> documented. > > I'd note that this also happens without --parse. Right, and it also happens with "--only-input" (part of "--parse") "--only-input" is documented as follows: Output only trailers that exist in the input; do not add any from the command-line or by following configured trailer.* rules. [] > I don't recall being aware of this prefix matching until this thread, so > I doubt that the current behavior of --parse was something I tried for > intentionally. It's mostly just using the existing code, plus a few > extra options (listed in the docs). I'm not opposed to adding an option > to do strict matching and/or avoid rewriting, and then possibly adding > that into --parse by default. Would that option also be set for the parsing done by "%(trailers)" pretty format specifier? > I don't have much of an opinion on which behavior would be preferred. > I've never actually had a use case for configuring trailer.*.key, as I > usually am only looking at reading existing trailers to collect stats, > etc. I'm also mainly using in reading trailers (mostly with pretty format "%(trailers:key=x)") and then these convenience shortcuts doesn't really seem helpful, they rather add a small risk of mangling my data. Not that this has caused any problems for me in practice.