/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/merge.py

Update to bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
153
153
        base_revision_id, other_revision_id, verified =\
154
154
            mergeable.get_merge_request(tree.branch.repository)
155
155
        revision_graph = tree.branch.repository.get_graph()
156
 
        if (base_revision_id != _mod_revision.NULL_REVISION and
157
 
            revision_graph.is_ancestor(
158
 
            base_revision_id, tree.branch.last_revision())):
159
 
            base_revision_id = None
160
 
        else:
161
 
            warning('Performing cherrypick')
 
156
        if base_revision_id is not None:
 
157
            if (base_revision_id != _mod_revision.NULL_REVISION and
 
158
                revision_graph.is_ancestor(
 
159
                base_revision_id, tree.branch.last_revision())):
 
160
                base_revision_id = None
 
161
            else:
 
162
                warning('Performing cherrypick')
162
163
        merger = klass.from_revision_ids(pb, tree, other_revision_id,
163
164
                                         base_revision_id, revision_graph=
164
165
                                         revision_graph)
1460
1461
    def __init__(self, a_rev, b_rev, vf, prefix, graph):
1461
1462
        _PlanMergeBase.__init__(self, a_rev, b_rev, vf, prefix)
1462
1463
        lcas = graph.find_lca(prefix + (a_rev,), prefix + (b_rev,))
1463
 
        self.lcas = set(lca[-1] for lca in lcas)
 
1464
        self.lcas = set()
 
1465
        for lca in lcas:
 
1466
            if lca == NULL_REVISION:
 
1467
                self.lcas.add(lca)
 
1468
            else:
 
1469
                self.lcas.add(lca[-1])
1464
1470
        for lca in self.lcas:
1465
 
            lca_lines = self.get_lines([lca])[lca]
 
1471
            if _mod_revision.is_null(lca):
 
1472
                lca_lines = []
 
1473
            else:
 
1474
                lca_lines = self.get_lines([lca])[lca]
1466
1475
            matcher = patiencediff.PatienceSequenceMatcher(None, self.lines_a,
1467
1476
                                                           lca_lines)
1468
1477
            blocks = list(matcher.get_matching_blocks())