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

Re: git-core: conflictstyle=diff3 doesn't actually use diff3 compatible format

From
Bert Wesarg <bert.wesarg@googlemail.com>
Date
Mar 6, 2010, 12:57 UTC
Message-ID
<36ca99e91003060457s6417f800uc7a3e126ee6b7d6f@mail.gmail.com>
In-Reply-To
<7vpr3itn89.fsf@alter.siamese.dyndns.org>
On Fri, Mar 5, 2010 at 23:31, Junio C Hamano <gitster@pobox.com> wrote:
Show 19 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>>> 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
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 23 in “Re: git-core: conflictstyle=diff3 doesn't actually use diff3 compatible format”
  1. Jonathan NiederMar 5, 2010
  2. Junio C HamanoMar 5, 2010
  3. Bert WesargMar 6, 2010
  4. Junio C HamanoMar 6, 2010
  5. Jonathan NiederMar 8, 2010
  6. 0/10 Add label for common ancestor to conflictstyle=diff3Jonathan Nieder, Mar 15, 2010
  7. 01/10 xdl_merge(): add optional ancestor label to diff3-style outputJonathan Nieder, Mar 15, 2010
  8. Junio C HamanoMar 15, 2010
  9. Jonathan NiederMar 15, 2010
  10. Junio C HamanoMar 15, 2010
  11. 02/10 merge-file --diff3: add a label for ancestorJonathan Nieder, Mar 15, 2010
  12. 03/10 ll_merge(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 15, 2010
  13. 04/10 checkout --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 15, 2010
  14. Junio C HamanoMar 15, 2010
  15. Jonathan NiederMar 15, 2010
  16. 05/10 merge_file(): add comment explaining behavior wrt conflict styleJonathan Nieder, Mar 15, 2010
  17. 06/10 merge_trees(): add ancestor label parameter for diff3-style outputJonathan Nieder, Mar 15, 2010
  18. 07/10 tests: document format of conflicts from checkout -mJonathan Nieder, Mar 15, 2010
  19. 08/10 checkout -m --conflict=diff3: add a label for ancestorJonathan Nieder, Mar 15, 2010
  20. 09/10 cherry-pick: add a label for ancestorJonathan Nieder, Mar 15, 2010
  21. 10/10 merge-recursive: add a label for ancestorJonathan Nieder, Mar 15, 2010
  22. Junio C HamanoMar 15, 2010
  23. Stefan MonnierMar 15, 2010

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.