~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge.py

Avoided generating a new tree for every weave merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
300
300
                  'other_tree': self.other_tree}
301
301
        if self.merge_type.requires_base:
302
302
            kwargs['base_tree'] = self.base_tree
303
 
        if self.reprocess and not self.merge_type.supports_reprocess:
 
303
        if self.merge_type.supports_reprocess:
 
304
            kwargs['reprocess'] = self.reprocess
 
305
        elif self.reprocess:
304
306
            raise BzrError("Reprocess is not supported for this merge"
305
307
                                  " type. %s" % merge_type)
306
 
        else:
307
 
            kwargs['reprocess'] = self.reprocess
308
 
        if self.show_base and not self.merge_type.supports_show_base:
 
308
        if self.merge_type.supports_show_base:
 
309
            kwargs['show_base'] = self.show_base
 
310
        elif self.show_base:
309
311
            raise BzrError("Showing base is not supported for this"
310
312
                                  " merge type. %s" % self.merge_type)
311
 
        else:
312
 
            kwargs['show_base'] = self.show_base
313
313
        merge = self.merge_type(**kwargs)
314
314
        return len(merge.cooked_conflicts)
315
315