~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_merge_directive.py

  • Committer: John Arbash Meinel
  • Date: 2008-07-11 21:41:24 UTC
  • mto: This revision was merged to the branch mainline in revision 3543.
  • Revision ID: john@arbash-meinel.com-20080711214124-qi09irlj7pd5cuzg
Shortcut the case when one revision is in the ancestry of the other.

At the cost of a heads() check, when one parent supersedes, we don't have to extract
the text for the other. Changes merge time from 3m37s => 3m21s. Using a
CachingParentsProvider would drop the time down to 3m11s.

Show diffs side-by-side

added added

removed removed

Lines of Context:
576
576
            branch_c.base, base_revision_id='rev2a')
577
577
        revision = md.install_revisions(tree_b.branch.repository)
578
578
 
579
 
    def test_handle_target_not_a_branch(self):
580
 
        tree_a, tree_b, branch_c = self.make_trees()
581
 
        branch_c.pull(tree_a.branch)
582
 
        self.build_tree_contents([('tree_a/file', 'content_q\ncontent_r\n')])
583
 
        tree_a.commit('rev3a', rev_id='rev3a')
584
 
        md = self.from_objects(tree_a.branch.repository, 'rev3a', 500, 36,
585
 
            branch_c.base, base_revision_id='rev2a')
586
 
        md.target_branch = self.get_url('not-a-branch')
587
 
        self.assertRaises(errors.TargetNotBranch, md.install_revisions,
588
 
                tree_b.branch.repository)
589
 
 
590
579
 
591
580
class TestMergeDirective1Branch(tests.TestCaseWithTransport,
592
581
    TestMergeDirectiveBranch):