Re: git-core: conflictstyle=diff3 doesn't actually use diff3 compatible format
From: Bert Wesarg <hidden>
Date: 2016-08-13 23:25:50
On Fri, Mar 5, 2010 at 23:31, Junio C Hamano [off-list ref] wrote:
Jonathan Nieder [off-list ref] writes:quoted
quoted
I can't live without conflictstyle=diff3m and I'm very happy it exists. But it has a little problem: it uses "|||||||\n" as a separator for the ancestor version of the text, whereas diff3 uses "||||||| <ancestorname>\n". The difference is harmless for a human (tho the <ancestorname> can sometimes be useful, assuming it's meaningful), but it makes some tools fail to recognize the conflict markers properly. So please add a " BASE" or " ANCESTOR" after the "|||||||".No opinion on this myself. I’d be interested to hear from xdiff people whether it should be easy to add the ancestor name to the output.I don't think there was any xdiff people involved in this area. I suspect that our tools actually rely on the common ancestor markers not having any extra cruft after them, so it would be introducing a bug if you change this output without changing the places that read them (I know about "rerere", but there may be others).
rerere needs an isspace() after the specified marker length. So I assume it could live with extra cruft after the | marker and a space. BTW: Am I right, that rerere would need to handle my new conflict style too? Bert