On Sat, Aug 31, 2019 at 01:17:48PM +0000, Giuseppe Crinò wrote: > On Mon, Aug 26, 2019 at 03:14:55PM -0400, Jeff King wrote: > > We'd still want to keep the low-level removal of "<>\n", since those are > > syntactically significant to Git (i.e., if they sneak in you end up with > > a broken commit object). > > Would it work to change `strbuf_addstr_without_crud()` such that instead of > removing crud from the beginning and *then* crud from the end, it removes crud > as long as it's palindromic? Then the function proceeds to remove "<>\n" from > the string as before. > > That would implement the following _mappings_: > > 'Foo bar' => Foo bar > Micheal Jr. => Micheal Jr. > Mr. McDonalds => Mr. McDonalds > "John Baz" => John Baz > "JJ\x0a" => JJ > > What do you think? I think we don't have enough data to really know how much it will help or hurt. :) On the plus side, it is less risky than dropping the end-point crud removal entirely. But it still risks losing a case where some code path relies on the crud cleanup for odd cases (mismatched delimiters, or interleaved delimiters, or non-delimiter crud mixed in with delimiters). On the one hand, I am actually OK with dropping the crud removal entirely and seeing what happens, and this is a lesser form of that. On the other hand, it puts us in a funny in-between situation where tools can _usually_ get away without cleaning up the names, but occasionally get bit. It might be easier to just say that we don't do cleanup. So I dunno. There is no patch to be discussed, and I am not volunteering to write one. So I think whoever chooses to do so has a lot of control over what is proposed. :) -Peff