~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Alexander Belchenko
  • Date: 2007-09-22 17:52:38 UTC
  • mto: This revision was merged to the branch mainline in revision 2863.
  • Revision ID: bialix@ukr.net-20070922175238-utwpezl628vcusbl
add -c option to merge command

Show diffs side-by-side

added added

removed removed

Lines of Context:
344
344
        self.run_bzr('merge -d target -r revid:rev2a branch_b')
345
345
        self.failUnlessExists('target/file1')
346
346
        self.failIfExists('target/file2')
 
347
 
 
348
    def assertDirectoryContent(self, directory, entries, message=''):
 
349
        """Assert whether entries (files or directories) are exist
 
350
        in some directory. It's also check that there is no extra
 
351
        entries.
 
352
        """
 
353
        ondisk = sorted(os.listdir(directory))
 
354
        if set(ondisk) == set(entries):
 
355
            return
 
356
        if message:
 
357
            message += '\n'
 
358
        raise AssertionError(
 
359
            '%s"%s" directory content is different:\na = %s\nb = %s\n'
 
360
            % (message, directory, entries, ondisk))
 
361
 
 
362
    def test_cherrypicking_merge(self):
 
363
        # make source branch
 
364
        source = self.make_branch_and_tree('source')
 
365
        for f in ('a', 'b', 'c', 'd'):
 
366
            self.build_tree(['source/'+f])
 
367
            source.add(f)
 
368
            source.commit('added '+f, rev_id='rev_'+f)
 
369
        # target branch
 
370
        target = source.bzrdir.sprout('target', 'rev_a').open_workingtree()
 
371
        self.assertDirectoryContent('target', ['.bzr', 'a'])
 
372
        # pick 1 revision
 
373
        self.run_bzr('merge -d target -r revid:rev_b..revid:rev_c source')
 
374
        self.assertDirectoryContent('target', ['.bzr', 'a', 'c'])
 
375
        target.revert()
 
376
        # pick 2 revisions
 
377
        self.run_bzr('merge -d target -r revid:rev_b..revid:rev_d source')
 
378
        self.assertDirectoryContent('target', ['.bzr', 'a', 'c', 'd'])
 
379
        target.revert()
 
380
        # pick 1 revision with option --changes
 
381
        self.run_bzr('merge -d target -c revid:rev_d source')
 
382
        self.assertDirectoryContent('target', ['.bzr', 'a', 'd'])