diff --git a/swh/loader/git/from_disk.py b/swh/loader/git/from_disk.py --- a/swh/loader/git/from_disk.py +++ b/swh/loader/git/from_disk.py @@ -22,6 +22,7 @@ from swh.model import hashutil from swh.model.model import Origin, Snapshot, SnapshotBranch, TargetType from swh.loader.core.loader import DVCSLoader +from swh.storage.algos.snapshot import snapshot_get_latest from . import converters, utils @@ -139,13 +140,8 @@ def fetch_data(self): """Fetch the data from the data source""" - previous_visit = self.storage.origin_visit_get_latest( - self.origin.url, require_snapshot=True - ) - if previous_visit: - self.previous_snapshot_id = previous_visit["snapshot"] - else: - self.previous_snapshot_id = None + snapshot = snapshot_get_latest(self.storage, self.origin_url, branches_count=1) + self.previous_snapshot_id = snapshot.id if snapshot is not None else None type_to_ids = defaultdict(list) for oid in self.iter_objects(): diff --git a/swh/loader/git/loader.py b/swh/loader/git/loader.py --- a/swh/loader/git/loader.py +++ b/swh/loader/git/loader.py @@ -30,7 +30,7 @@ Sha1Git, ) from swh.loader.core.loader import DVCSLoader -from swh.storage.algos.snapshot import snapshot_get_all_branches +from swh.storage.algos.snapshot import snapshot_get_latest from . import converters, utils @@ -210,14 +210,7 @@ self.origin = Origin(url=self.origin_url) def get_full_snapshot(self, origin_url) -> Optional[Snapshot]: - visit = self.storage.origin_visit_get_latest(origin_url, require_snapshot=True) - if visit and visit["snapshot"]: - snapshot = snapshot_get_all_branches(self.storage, visit["snapshot"]) - else: - snapshot = None - if snapshot is None: - return None - return Snapshot.from_dict(snapshot) + return snapshot_get_latest(self.storage, origin_url) def prepare(self, *args, **kwargs) -> None: assert self.origin is not None