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

Merge thin-pack work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
108
108
 
109
109
class TemporaryPackIterator(Pack):
110
110
 
 
111
    def __init__(self, path, resolve_ext_ref):
 
112
        self.resolve_ext_ref = resolve_ext_ref
 
113
        super(TemporaryPackIterator, self).__init__(path)
 
114
 
111
115
    @property
112
116
    def idx(self):
113
117
        if self._idx is None:
114
 
            self._data.create_index_v2(self._idx_path)
 
118
            self._data.create_index_v2(self._idx_path, self.resolve_ext_ref)
115
119
            self._idx = PackIndex(self._idx_path)
116
120
        return self._idx
117
121
 
130
134
        self._transport.fetch_pack(determine_wants, graph_walker, pack_data, 
131
135
            progress)
132
136
 
133
 
    def fetch_objects(self, determine_wants, graph_walker, progress=None):
 
137
    def fetch_objects(self, determine_wants, graph_walker, resolve_ext_ref, progress=None):
134
138
        fd, path = tempfile.mkstemp(suffix=".pack")
135
139
        self.fetch_pack(determine_wants, graph_walker, lambda x: os.write(fd, x), progress)
136
140
        os.close(fd)
137
 
        return TemporaryPackIterator(path[:-len(".pack")])
 
141
        if os.path.getsize(path) == 0:
 
142
            return {}
 
143
        return TemporaryPackIterator(path[:-len(".pack")], resolve_ext_ref)
138
144
 
139
145
 
140
146
class RemoteGitBranch(GitBranch):