b.t.p.MergeCasesMixin(object) : class documentation

Part of bzrlib.tests.per_versionedfile View In Hierarchy

Known subclasses: bzrlib.tests.per_versionedfile.TestWeaveMerge

No class docstring
Method doMerge Undocumented
Method testOneInsert Undocumented
Method testSeparateInserts Undocumented
Method testSameInsert Undocumented
Method testOverlappedInsert Undocumented
Method testClashReplace Undocumented
Method testNonClashInsert1 Undocumented
Method testNonClashInsert2 Undocumented
Method testDeleteAndModify Clashing delete and modification.
Method test_weave_merge_conflicts Undocumented
Method test_deletion_extended One side deletes, the other deletes more.
Method test_deletion_overlap Delete overlapping regions with no other conflict.
Method test_agreement_deletion Agree to delete some lines, without conflicts.
Method test_sync_on_deletion Specific case of merge where we can synchronize incorrectly.
Method _test_merge_from_strings Undocumented
def doMerge(self, base, a, b, mp):
Undocumented
def testOneInsert(self):
Undocumented
def testSeparateInserts(self):
Undocumented
def testSameInsert(self):
Undocumented
def testOverlappedInsert(self):
Undocumented
def testClashReplace(self):
Undocumented
def testNonClashInsert1(self):
Undocumented
def testNonClashInsert2(self):
Undocumented
def testDeleteAndModify(self):
Clashing delete and modification.

If one side modifies a region and the other deletes it then there should be a conflict with one side blank.

def _test_merge_from_strings(self, base, a, b, expected):
Undocumented
def test_weave_merge_conflicts(self):
Undocumented
def test_deletion_extended(self):
One side deletes, the other deletes more.
def test_deletion_overlap(self):
Delete overlapping regions with no other conflict.

Arguably it'd be better to treat these as agreement, rather than conflict, but for now conflict is safer.

def test_agreement_deletion(self):
Agree to delete some lines, without conflicts.
def test_sync_on_deletion(self):
Specific case of merge where we can synchronize incorrectly.

A previous version of the weave merge concluded that the two versions agreed on deleting line 2, and this could be a synchronization point. Line 1 was then considered in isolation, and thought to be deleted on both sides.

It's better to consider the whole thing as a disagreement region.

API Documentation for Bazaar, generated by pydoctor at 2022-06-16 00:25:16.