~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/merge.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-08-25 23:37:34 UTC
  • mfrom: (4648.1.2 shelve-locks)
  • Revision ID: pqm@pqm.ubuntu.com-20090825233734-ozgeetbq9aagneer
Fix shelve on windows. (Robert Collins, #305006)

Show diffs side-by-side

added added

removed removed

Lines of Context:
106
106
        self._is_criss_cross = None
107
107
        self._lca_trees = None
108
108
 
 
109
    def cache_trees_with_revision_ids(self, trees):
 
110
        """Cache any tree in trees if it has a revision_id."""
 
111
        for maybe_tree in trees:
 
112
            if maybe_tree is None:
 
113
                continue
 
114
            try:
 
115
                rev_id = maybe_tree.get_revision_id()
 
116
            except AttributeError:
 
117
                continue
 
118
            self._cached_trees[rev_id] = maybe_tree
 
119
 
109
120
    @property
110
121
    def revision_graph(self):
111
122
        if self._revision_graph is None:
1520
1531
    get_revision_id = getattr(base_tree, 'get_revision_id', None)
1521
1532
    if get_revision_id is None:
1522
1533
        get_revision_id = base_tree.last_revision
 
1534
    merger.cache_trees_with_revision_ids([other_tree, base_tree, this_tree])
1523
1535
    merger.set_base_revision(get_revision_id(), this_branch)
1524
1536
    return merger.do_merge()
1525
1537