/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_merge.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
238
238
        self.run_bzr_error(('Cannot use --uncommitted and --revision',),
239
239
                           'merge /a --uncommitted -r1 -d b')
240
240
 
 
241
    def test_merge_uncommitted_file(self):
 
242
        """It should be possible to merge changes from a single file."""
 
243
        tree_a = self.make_branch_and_tree('tree_a')
 
244
        tree_a.commit('initial commit')
 
245
        tree_a.bzrdir.sprout('tree_b')
 
246
        self.build_tree(['tree_a/file1', 'tree_a/file2'])
 
247
        tree_a.add(['file1', 'file2'])
 
248
        os.chdir('tree_b')
 
249
        self.run_bzr(['merge', '--uncommitted', '../tree_a/file1'])
 
250
        self.failUnlessExists('file1')
 
251
        self.failIfExists('file2')
 
252
 
241
253
    def pullable_branch(self):
242
254
        tree_a = self.make_branch_and_tree('a')
243
255
        self.build_tree(['a/file'])
380
392
        # pick 1 revision with option --changes
381
393
        self.run_bzr('merge -d target -c revid:rev_d source')
382
394
        self.assertDirectoryContent('target', ['.bzr', 'a', 'd'])
 
395
 
 
396
    def test_merge_criss_cross(self):
 
397
        tree_a = self.make_branch_and_tree('a')
 
398
        tree_a.commit('', rev_id='rev1')
 
399
        tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
 
400
        tree_a.commit('', rev_id='rev2a')
 
401
        tree_b.commit('', rev_id='rev2b')
 
402
        tree_a.merge_from_branch(tree_b.branch)
 
403
        tree_b.merge_from_branch(tree_a.branch)
 
404
        tree_a.commit('', rev_id='rev3a')
 
405
        tree_b.commit('', rev_id='rev3b')
 
406
        graph = tree_a.branch.repository.get_graph(tree_b.branch.repository)
 
407
        out, err = self.run_bzr(['merge', '-d', 'a', 'b'])
 
408
        self.assertContainsRe(err, 'Warning: criss-cross merge encountered.')