summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2013-12-17 11:47:00 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-12-17 11:47:01 -0800
commit0067272999bcf3ac3929a77114ec0e095910e03d (patch)
tree2d8d4a705c8d58c2e8d49c98658883253419ac49
parentMerge branch 'fc/trivial' (diff)
parentDocumentation: document pitfalls with 3-way merge (diff)
downloadtgif-0067272999bcf3ac3929a77114ec0e095910e03d.tar.xz
Merge branch 'bc/doc-merge-no-op-revert'
* bc/doc-merge-no-op-revert: Documentation: document pitfalls with 3-way merge
-rw-r--r--Documentation/merge-strategies.txt8
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt
index 49a9a7d53f..fb6e593e7c 100644
--- a/Documentation/merge-strategies.txt
+++ b/Documentation/merge-strategies.txt
@@ -113,3 +113,11 @@ subtree::
match the tree structure of A, instead of reading the trees at
the same level. This adjustment is also done to the common
ancestor tree.
+
+With the strategies that use 3-way merge (including the default, 'recursive'),
+if a change is made on both branches, but later reverted on one of the
+branches, that change will be present in the merged result; some people find
+this behavior confusing. It occurs because only the heads and the merge base
+are considered when performing a merge, not the individual commits. The merge
+algorithm therefore considers the reverted change as no change at all, and
+substitutes the changed version instead.