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

Partially fix pull.

Show diffs side-by-side

added added

removed removed

Lines of Context:
163
163
        commit = revision_to_commit(rev, tree_sha, parent_lookup)
164
164
        objects.append((commit, None))
165
165
        self._git.object_store.add_objects(objects)
 
166
        return commit.sha().hexdigest()
166
167
 
167
168
    def dfetch(self, source, stop_revision):
168
169
        if stop_revision is None:
169
170
            raise NotImplementedError
170
171
        revidmap = {}
 
172
        gitidmap = {}
171
173
        todo = []
172
 
        source.lock_read()
 
174
        source.lock_write()
173
175
        try:
174
176
            graph = source.get_graph()
175
 
            for revid, parents in graph.iter_ancestry([stop_revision]):
 
177
            ancestry = [x for x in source.get_ancestry(stop_revision) if x is not None]
 
178
            for revid in graph.iter_topo_order(ancestry):
176
179
                if not self.has_revision(revid):
177
180
                    todo.append(revid)
178
181
            pb = ui.ui_factory.nested_progress_bar()
179
182
            try:
180
 
                for i, revid in enumerate(reversed(todo)):
 
183
                for i, revid in enumerate(todo):
181
184
                    pb.update("pushing revisions", i, len(todo))
182
 
                    revidmap[revid] = self.import_revision_gist(source, revid, revidmap.get)
 
185
                    git_commit = self.import_revision_gist(source, revid, gitidmap.__getitem__)
 
186
                    gitidmap[revid] = git_commit
 
187
                    git_revid = self.get_mapping().revision_id_foreign_to_bzr(git_commit)
 
188
                    revidmap[revid] = git_revid
183
189
            finally:
184
190
                pb.finished()
 
191
            source.fetch(self, revision_id=revidmap[stop_revision])
185
192
        finally:
186
193
            source.unlock()
187
194
        return revidmap
250
257
    def set_make_working_trees(self, trees):
251
258
        pass
252
259
 
253
 
    def fetch_objects(self, determine_wants, graph_walker, progress=None):
 
260
    def fetch_objects(self, determine_wants, graph_walker, resolve_ext_ref, progress=None):
254
261
        return self._git.fetch_objects(determine_wants, graph_walker, progress)
255
262
 
256
263