70
70
a_tree.revert(backups=False)
71
71
self.run_bzr('merge ../b -r last:1..last:1 --merge-type weave')
72
72
a_tree.revert(backups=False)
73
self.run_bzr('merge ../b -r last:1..last:1 --merge-type lca')
74
a_tree.revert(backups=False)
73
75
self.run_bzr_error(['Show-base is not supported for this merge type'],
74
76
'merge ../b -r last:1..last:1 --merge-type weave'
420
422
other_tree.commit('rev3b')
421
423
self.run_bzr('merge --weave -d this other -r -2..-1')
422
424
self.assertFileEqual('c\na\n', 'this/file')
426
def test_lca_merge_criss_cross(self):
427
tree_a = self.make_branch_and_tree('a')
428
self.build_tree_contents([('a/file', 'base-contents\n')])
430
tree_a.commit('', rev_id='rev1')
431
tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
432
self.build_tree_contents([('a/file',
433
'base-contents\nthis-contents\n')])
434
tree_a.commit('', rev_id='rev2a')
435
self.build_tree_contents([('b/file',
436
'base-contents\nother-contents\n')])
437
tree_b.commit('', rev_id='rev2b')
438
tree_a.merge_from_branch(tree_b.branch)
439
self.build_tree_contents([('a/file',
440
'base-contents\nthis-contents\n')])
441
tree_a.set_conflicts(ConflictList())
442
tree_b.merge_from_branch(tree_a.branch)
443
self.build_tree_contents([('b/file',
444
'base-contents\nother-contents\n')])
445
tree_b.set_conflicts(ConflictList())
446
tree_a.commit('', rev_id='rev3a')
447
tree_b.commit('', rev_id='rev3b')
448
out, err = self.run_bzr(['merge', '-d', 'a', 'b', '--lca'], retcode=1)
449
self.assertFileEqual('base-contents\n<<<<<<< TREE\nthis-contents\n'
450
'=======\nother-contents\n>>>>>>> MERGE-SOURCE\n',