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

Cope with newer *system* dulwich

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
 
38
38
class BzrFetchGraphWalker(object):
39
 
    """GraphWalker implementation that uses a Bazaar repository."""
40
39
 
41
40
    def __init__(self, repository, mapping):
42
41
        self.repository = repository
45
44
        self.heads = set(repository.all_revision_ids())
46
45
        self.parents = {}
47
46
 
48
 
    def __iter__(self):
49
 
        return iter(self.next, None)
50
 
 
51
47
    def ack(self, sha):
52
48
        revid = self.mapping.revision_id_foreign_to_bzr(sha)
53
49
        self.remove(revid)
68
64
            self.heads.update([p for p in ps if not p in self.done])
69
65
            try:
70
66
                self.done.add(ret)
71
 
                return self.mapping.revision_id_bzr_to_foreign(ret)[0]
 
67
                return self.mapping.revision_id_bzr_to_foreign(ret)
72
68
            except InvalidRevisionId:
73
69
                pass
74
70
        return None
213
209
            if revision_id is None:
214
210
                ret = heads.values()
215
211
            else:
216
 
                ret = [mapping.revision_id_bzr_to_foreign(revision_id)[0]]
 
212
                ret = [mapping.revision_id_bzr_to_foreign(revision_id)]
217
213
            return [rev for rev in ret if not self.target.has_revision(mapping.revision_id_foreign_to_bzr(rev))]
218
214
        graph_walker = BzrFetchGraphWalker(self.target, mapping)
219
215
        create_pb = None
268
264
        if revision_id is None:
269
265
            determine_wants = lambda x: [y for y in x.values() if not y in r.object_store]
270
266
        else:
271
 
            args = [mapping.revision_id_bzr_to_foreign(revision_id)[0]]
 
267
            args = [mapping.revision_id_bzr_to_foreign(revision_id)]
272
268
            determine_wants = lambda x: [y for y in args if not y in r.object_store]
273
269
 
274
270
        graphwalker = SimpleFetchGraphWalker(r.heads().values(), r.get_parents)