/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/repofmt/knitrepo.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
    lockable_files,
31
31
    lockdir,
32
32
    osutils,
 
33
    symbol_versioning,
33
34
    transactions,
34
35
    xml5,
35
36
    xml6,
58
59
    def __repr__(self):
59
60
        return 'KnitParentsProvider(%r)' % self._knit
60
61
 
 
62
    @symbol_versioning.deprecated_method(symbol_versioning.one_one)
61
63
    def get_parents(self, revision_ids):
62
 
        parents_list = []
63
 
        for revision_id in revision_ids:
 
64
        """See graph._StackedParentsProvider.get_parents"""
 
65
        parent_map = self.get_parent_map(revision_ids)
 
66
        return [parent_map.get(r, None) for r in revision_ids]
 
67
 
 
68
    def get_parent_map(self, keys):
 
69
        """See graph._StackedParentsProvider.get_parent_map"""
 
70
        parent_map = {}
 
71
        for revision_id in keys:
64
72
            if revision_id == _mod_revision.NULL_REVISION:
65
 
                parents = []
 
73
                parent_map[revision_id] = []
66
74
            else:
67
75
                try:
68
76
                    parents = self._knit.get_parents_with_ghosts(revision_id)
69
77
                except errors.RevisionNotPresent:
70
 
                    parents = None
 
78
                    pass
71
79
                else:
72
80
                    if len(parents) == 0:
73
81
                        parents = [_mod_revision.NULL_REVISION]
74
 
            parents_list.append(parents)
75
 
        return parents_list
 
82
                parent_map[revision_id] = parents
 
83
        return parent_map
76
84
 
77
85
 
78
86
class KnitRepository(MetaDirRepository):