diff --git a/swh/loader/package/nixguix/loader.py b/swh/loader/package/nixguix/loader.py --- a/swh/loader/package/nixguix/loader.py +++ b/swh/loader/package/nixguix/loader.py @@ -65,11 +65,16 @@ def resolve_revision_from( self, known_artifacts: Dict, artifact_metadata: Dict ) -> Optional[bytes]: - for rev_id, known_artifact in known_artifacts.items(): - known_integrity = known_artifact["extrinsic"]["raw"]["integrity"] - if artifact_metadata["integrity"] == known_integrity: - return rev_id + try: + known_integrity = known_artifact["extrinsic"]["raw"]["integrity"] + if artifact_metadata["integrity"] == known_integrity: + return rev_id + except KeyError: + # metadata field for the revision is not as expected by the loader + # nixguix. We consider this not the right revision + # continue checking the other revisions + continue return None def extra_branches(self) -> Dict[bytes, Mapping[str, Any]]: