conflict-marker-size: add test and docs
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Jan 2010 07:49:27 +0000 (23:49 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Jan 2010 07:49:27 +0000 (23:49 -0800)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/gitattributes.txt
t/t6026-merge-attr.sh

index 814714c56e503d1717acc9a1474538f180a4590d..b396a871b32de52962eaa36f9d6be19d108d88ee 100644 (file)
@@ -525,6 +525,23 @@ When left unspecified, the driver itself is used for both
 internal merge and the final merge.
 
 
+`conflict-marker-size`
+^^^^^^^^^^^^^^^^^^^^^^
+
+This attribute controls the length of conflict markers left in
+the work tree file during a conflicted merge.  Only setting to
+the value to a positive integer has any meaningful effect.
+
+For example, this line in `.gitattributes` can be used to tell the merge
+machinery to leave much longer (instead of the usual 7-character-long)
+conflict markers when merging the file `Documentation/git-merge.txt`
+results in a conflict.
+
+------------------------
+Documentation/git-merge.txt    conflict-marker-size=32
+------------------------
+
+
 Checking whitespace errors
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index 1ba0a252230a283a6bb2463d98537aab1eaf4fb8..5e439972bea358f700ded4266df31f7dc4514800 100755 (executable)
@@ -70,6 +70,18 @@ test_expect_success 'check merge result in working tree' '
 
 '
 
+test_expect_success 'retry the merge with longer context' '
+       echo text conflict-marker-size=32 >>.gitattributes &&
+       git checkout -m text &&
+       sed -ne "/^\([<=>]\)\1\1\1*/{
+               s/ .*$//
+               p
+       }" >actual text &&
+       grep ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" actual &&
+       grep "================================" actual &&
+       grep "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" actual
+'
+
 cat >./custom-merge <<\EOF
 #!/bin/sh