Changeset View
Changeset View
Standalone View
Standalone View
swh/provenance/provenance.py
Show First 20 Lines • Show All 481 Lines • ▼ Show 20 Lines | ) -> Optional[Sha1Git]: | ||||
if revision.id not in cache: | if revision.id not in cache: | ||||
ret = self.storage.revision_get([revision.id]) | ret = self.storage.revision_get([revision.id]) | ||||
if revision.id in ret: | if revision.id in ret: | ||||
origin = ret[revision.id].origin | origin = ret[revision.id].origin | ||||
if origin is not None: | if origin is not None: | ||||
cache[revision.id] = origin | cache[revision.id] = origin | ||||
return cache.get(revision.id) | return cache.get(revision.id) | ||||
def revision_in_history(self, revision: RevisionEntry) -> bool: | |||||
return revision.id in self.cache["revision_before_revision"] or bool( | |||||
self.storage.relation_get(RelationType.REV_BEFORE_REV, [revision.id]) | |||||
) | |||||
def revision_set_preferred_origin( | def revision_set_preferred_origin( | ||||
self, origin: OriginEntry, revision: RevisionEntry | self, origin: OriginEntry, revision: RevisionEntry | ||||
) -> None: | ) -> None: | ||||
self.cache["revision_origin"]["data"][revision.id] = origin.id | self.cache["revision_origin"]["data"][revision.id] = origin.id | ||||
self.cache["revision_origin"]["added"].add(revision.id) | self.cache["revision_origin"]["added"].add(revision.id) | ||||
def revision_visited(self, revision: RevisionEntry) -> bool: | |||||
return revision.id in dict(self.cache["revision_in_origin"]) or bool( | |||||
self.storage.relation_get(RelationType.REV_IN_ORG, [revision.id]) | |||||
) |