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

Re: [PATCH 7/7] [doc] ignore conflict markers in gitmergeconflicts.adoc

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 7, 2026, 21:21 UTC
Message-ID
<xmqqse2h5hql.fsf@gitster.g>
In-Reply-To
<4505fdc9a6dec37296952107c90947e43f39bae4.1790261062.git.gitgitgadget@gmail.com>
"Julia Evans via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 20 quoted lines
> Subject: Re: [PATCH 7/7] [doc] ignore conflict markers in gitmergeconflicts.adoc
> From: Julia Evans <julia@jvns.ca>
>
> Signed-off-by: Julia Evans <julia@jvns.ca>
> ---
>  .gitattributes | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/.gitattributes b/.gitattributes
> index 26490ad60a..0a0fc950b1 100644
> --- a/.gitattributes
> +++ b/.gitattributes
> @@ -14,6 +14,7 @@ CODE_OF_CONDUCT.md -whitespace
>  /t/oid-info/* text eol=lf
>  /Documentation/git-merge.adoc conflict-marker-size=32
>  /Documentation/git-merge-file.adoc conflict-marker-size=32
> +/Documentation/gitmergeconflicts.adoc conflict-marker-size=32
>  /Documentation/gitk.adoc conflict-marker-size=32
>  /Documentation/user-manual.adoc conflict-marker-size=32
>  /t/t????-*.sh conflict-marker-size=32

The title of this patch seems to show a fundamental misunderstanding of what these custom conflict marker settings mean. I believe the plan is to squash this into the step that introduces the new file; when that happens, the patch title will disappear and we will not have to worry about it, but regardless.

Setting a custom 'conflict-marker-size' is not about ignoring anything. It ensures that payload lines that happen to look like conflict markers are not mistaken for them. Machinery like rerere parses conflicted files, and you do not want it to mistake a run of seven '<' characters at the beginning of a line you deliberately wrote as the start of a conflict block. You prevent such mistakes by specifying that the conflict delimiter used during conflicts will be N (!= 7) characters long, instead of the regular seven.

By the way, some of the points above might be worth teaching in the material covering merge conflicts (i.e., this series). I do not think many people write manuals on Git with examples of what a conflict block looks like ;-), but a run of seven '<', '=', '|', or '>' characters may appear in real payloads that users need to use, in contexts completely unrelated to ours.

Setting 'conflict-marker-size' to a length that their payload is unlikely to use is a useful technique to be aware of.

Thanks.
Previous: Julia Evans via GitGitGadgetNext: Junio C Hamano
Message 36 of 47 in “[doc] Add new page on merge conflicts”
  1. 0/7 [doc] Add new page on merge conflictsJulia Evans via GitGitGadget, Sep 24, 2026
  2. 1/7 [doc] Add new gitmergeconflicts man pageJulia Evans via GitGitGadget, Sep 24, 2026
  3. Junio C HamanoSep 24, 2026
  4. Junio C HamanoSep 24, 2026
  5. Patrick SteinhardtSep 30, 2026
  6. Julia EvansSep 30, 2026
  7. Junio C HamanoSep 30, 2026
  8. Patrick SteinhardtOct 1, 2026
  9. Julia EvansOct 1, 2026
  10. Junio C HamanoOct 2, 2026
  11. Julia EvansOct 5, 2026
  12. Junio C HamanoOct 5, 2026
  13. Julia EvansOct 5, 2026
  14. 2/7 [doc] git-merge: link to new merge conflicts guideJulia Evans via GitGitGadget, Sep 24, 2026
  15. D. Ben KnobleSep 25, 2026
  16. Julia EvansSep 25, 2026
  17. Junio C HamanoSep 25, 2026
  18. Ben KnobleSep 25, 2026
  19. Junio C HamanoSep 25, 2026
  20. Ben KnobleSep 25, 2026
  21. Julia EvansOct 2, 2026
  22. Junio C HamanoOct 2, 2026
  23. Julia EvansOct 2, 2026
  24. Junio C HamanoOct 2, 2026
  25. D. Ben KnobleOct 3, 2026
  26. Junio C HamanoOct 3, 2026
  27. Patrick SteinhardtSep 30, 2026
  28. 3/7 [doc] git-rebase: link to new merge conflicts guideJulia Evans via GitGitGadget, Sep 24, 2026
  29. 4/7 [doc] git-revert: link to new merge conflicts guideJulia Evans via GitGitGadget, Sep 24, 2026
  30. 5/7 [doc] git-cherry-pick: link to new merge conflicts guideJulia Evans via GitGitGadget, Sep 24, 2026
  31. Junio C HamanoSep 25, 2026
  32. Julia EvansSep 28, 2026
  33. Junio C HamanoSep 28, 2026
  34. 6/7 [doc] git-pull: link to new merge conflicts guideJulia Evans via GitGitGadget, Sep 24, 2026
  35. 7/7 [doc] ignore conflict markers in gitmergeconflicts.adocJulia Evans via GitGitGadget, Sep 24, 2026
  36. Junio C HamanoOct 7, 2026
  37. Junio C HamanoSep 24, 2026
  38. Jeff KingSep 24, 2026
  39. Julia EvansSep 28, 2026
  40. Jeff KingSep 29, 2026
  41. Junio C HamanoSep 29, 2026
  42. D. Ben KnobleSep 25, 2026
  43. Julia EvansOct 2, 2026
  44. D. Ben KnobleOct 3, 2026
  45. Julia EvansOct 5, 2026
  46. D. Ben KnobleOct 6, 2026
  47. D. Ben KnobleOct 6, 2026

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.