Thread (86 messages) 86 messages, 6 authors, 6d ago

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

flat view

From: Junio C Hamano <hidden>
Date: 2026-10-07 21:21:57

"Julia Evans via GitGitGadget" [off-list ref] writes:
quoted hunk ↗ jump to hunk
Subject: Re: [PATCH 7/7] [doc] ignore conflict markers in gitmergeconflicts.adoc
From: Julia Evans <redacted>

Signed-off-by: Julia Evans <redacted>
---
 .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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help