def get_walker(self, heads, parent_map): new_parent_map = dict( [(k * 40, [(p * 40) for p in ps]) for (k, ps) in parent_map.items()] ) return ObjectStoreGraphWalker( [x * 40 for x in heads], new_parent_map.__getitem__ )
def get_graph_walker(self, heads=None): """Retrieve a graph walker. A graph walker is used by a remote repository (or proxy) to find out which objects are present in this repository. :param heads: Repository heads to use (optional) :return: A graph walker object """ if heads is None: heads = self.refs.as_dict(b'refs/heads').values() return ObjectStoreGraphWalker(heads, self.get_parents)
def get_graph_walker(self, heads=None): """Retrieve a graph walker. A graph walker is used by a remote repository (or proxy) to find out which objects are present in this repository. Args: heads: Repository heads to use (optional) Returns: A graph walker object """ if heads is None: heads = [ sha for sha in self.refs.as_dict(b'refs/heads').values() if sha in self.object_store] return ObjectStoreGraphWalker( heads, self.get_parents, shallow=self.get_shallow())
def fetch_objects(self, determine_wants, mapping, limit=None, lossy=False): """See `InterGitNonGitRepository`.""" self._warn_slow() store = get_object_store(self.target, mapping) with store.lock_write(): heads = self.get_target_heads() graph_walker = ObjectStoreGraphWalker( [store._lookup_revision_sha1(head) for head in heads], lambda sha: store[sha].parents) wants_recorder = DetermineWantsRecorder(determine_wants) with ui.ui_factory.nested_progress_bar() as pb: objects_iter = self.source.fetch_objects( wants_recorder, graph_walker, store.get_raw) trace.mutter("Importing %d new revisions", len(wants_recorder.wants)) (pack_hint, last_rev) = import_git_objects( self.target, mapping, objects_iter, store, wants_recorder.wants, pb, limit) return (pack_hint, last_rev, wants_recorder.remote_refs)
def get_walker(self, heads, parent_map): return ObjectStoreGraphWalker(heads, parent_map.__getitem__)
def graph_walker(self) -> ObjectStoreGraphWalker: return ObjectStoreGraphWalker(self.heads, self.get_parents)