git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Merge behavior with merge.conflictStyle diff3

From
Jeff King <peff@peff.net>
Date
Dec 18, 2018, 18:01 UTC
Message-ID
<20181218180158.GC31070@sigill.intra.peff.net>
In-Reply-To
<CAKmxmfosaExDYNyoaNg2teHMzsu3JJ3bqiLhrAaUt0Jt473Phw@mail.gmail.com>
On Tue, Dec 18, 2018 at 03:34:20PM -0200, Adilson de Almeida Junior wrote:
Show 17 quoted lines
> I guess, most times the second behavior is the expected: two conflict
> hunks, not only the divvergent pieces (this case, the second line) of
> them. By the doc:
> 
> merge.conflictStyle
> 
>     Specify the style in which conflicted hunks are written out to
> working tree files upon merge. The default is "merge", which shows a
> [[[[[[[ conflict marker, changes made by one side, a ======= marker,
> changes made by the other side, and then a ]]]]]]] marker. An
> alternate style, "diff3", adds a ||||||| marker and the original text
> before the ======= marker.
> 
> I replaced the 'lower than' and 'greater than' symbols by 'open n
> close square brackets' to avoid antivirus.
> 
> Is this a bug, or something I missunderstood from git docs?

This is the expected behavior. There's some philosophical discussion about the correct thing to do here in this thread (that message and its replies, but the whole thread is an interesting read):

  https://public-inbox.org/git/7vvc94p8hb.fsf@alter.siamese.dyndns.org/

Note that there is a patch in that thread to implement "zdiff3", which does what you want. I've been rebasing it and running with it for several years now. You can get my rebased version by fetching:

  https://github.com/peff/git ukk/zdiff3

But note that I think it may have a subtle bug, as I have once or twice over the years seen it cause a segfault.

-Peff
Previous: Adilson de Almeida Junior
Message 2 of 2 in “Merge behavior with merge.conflictStyle diff3”
  1. Adilson de Almeida JuniorDec 18, 2018
  2. Jeff KingDec 18, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.