72
72
self.run_bzr('revert --no-backup')
73
73
self.run_bzr('merge ../b -r last:1..last:1 --merge-type weave')
74
74
self.run_bzr('revert --no-backup')
75
self.run_bzr_error(['Show-base is not supported for this merge type'],
76
'merge ../b -r last:1..last:1 --merge-type weave'
78
self.run_bzr('revert --no-backup')
75
79
self.run_bzr('merge ../b -r last:1..last:1 --reprocess')
76
80
self.run_bzr('revert --no-backup')
77
81
self.run_bzr('merge ../b -r last:1')
206
210
tree_b.commit('message')
207
211
os.chdir('branch_b')
208
file('../bundle', 'wb').write(self.run_bzr('bundle ../branch_a')[0])
212
self.run_bzr('bundle ../branch_a -o ../bundle')
209
213
os.chdir('../branch_a')
210
214
self.run_bzr('merge ../bundle', retcode=1)
211
215
testament_a = Testament.from_revision(tree_a.branch.repository,
267
271
self.pullable_branch()
269
273
(out, err) = self.run_bzr('merge --pull ../b')
270
self.assertContainsRe(err, 'Now on revision 2\\.')
274
self.assertContainsRe(out, 'Now on revision 2\\.')
271
275
tree_a = WorkingTree.open('.')
272
276
self.assertEqual([self.id2], tree_a.get_parent_ids())
331
335
mangle_patch=True)
332
336
err = self.run_bzr('merge -d target directive')[1]
333
337
self.assertContainsRe(err, 'Preview patch does not match changes')
339
def test_merge_arbitrary(self):
340
target = self.make_branch_and_tree('target')
341
target.commit('empty')
342
# We need a revision that has no integer revno
343
branch_a = target.bzrdir.sprout('branch_a').open_workingtree()
344
self.build_tree(['branch_a/file1'])
345
branch_a.add('file1')
346
branch_a.commit('added file1', rev_id='rev2a')
347
branch_b = target.bzrdir.sprout('branch_b').open_workingtree()
348
self.build_tree(['branch_b/file2'])
349
branch_b.add('file2')
350
branch_b.commit('added file2', rev_id='rev2b')
351
branch_b.merge_from_branch(branch_a.branch)
352
self.failUnlessExists('branch_b/file1')
353
branch_b.commit('merged branch_a', rev_id='rev3b')
355
# It works if the revid has an interger revno
356
self.run_bzr('merge -d target -r revid:rev2a branch_a')
357
self.failUnlessExists('target/file1')
358
self.failIfExists('target/file2')
361
# It should work if the revid has no integer revno
362
self.run_bzr('merge -d target -r revid:rev2a branch_b')
363
self.failUnlessExists('target/file1')
364
self.failIfExists('target/file2')