Thread (4 messages) flat view 4 messages, 3 authors, 2016-08-13

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help