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()
167
168
def dfetch(self, source, stop_revision):
168
169
if stop_revision is None:
169
170
raise NotImplementedError
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()
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
191
source.fetch(self, revision_id=revidmap[stop_revision])
250
257
def set_make_working_trees(self, trees):
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)