~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge.py

  • Committer: Michael Hudson
  • Date: 2007-11-26 13:45:49 UTC
  • mto: (3008.1.10 tree-less-merge-diffs)
  • mto: This revision was merged to the branch mainline in revision 3189.
  • Revision ID: michael.hudson@canonical.com-20071126134549-8l3hqyg2bie5yqdv
extract merger creation into a method

Show diffs side-by-side

added added

removed removed

Lines of Context:
347
347
                                                      self.base_rev_id,
348
348
                                                      self.this_branch)
349
349
 
350
 
    def do_merge(self):
 
350
    def make_merger(self):
351
351
        kwargs = {'working_tree':self.this_tree, 'this_tree': self.this_tree,
352
352
                  'other_tree': self.other_tree,
353
353
                  'interesting_ids': self.interesting_ids,
365
365
        elif self.show_base:
366
366
            raise BzrError("Showing base is not supported for this"
367
367
                                  " merge type. %s" % self.merge_type)
 
368
        return self.merge_type(pb=self._pb,
 
369
                               change_reporter=self.change_reporter,
 
370
                               **kwargs)
 
371
 
 
372
    def do_merge(self):
 
373
        merge = self.make_merger()
368
374
        self.this_tree.lock_tree_write()
369
375
        if self.base_tree is not None:
370
376
            self.base_tree.lock_read()
371
377
        if self.other_tree is not None:
372
378
            self.other_tree.lock_read()
373
379
        try:
374
 
            merge = self.merge_type(pb=self._pb,
375
 
                                    change_reporter=self.change_reporter,
376
 
                                    **kwargs)
377
380
            merge.do_merge()
378
381
            if self.recurse == 'down':
379
382
                for path, file_id in self.this_tree.iter_references():