Staging instance, all changes can be removed at any time

Skip to content

Deduplicate resolve_revision_from across package loaders

All package loaders but deposit had logic to compute some object from the new packageinfo, some other objects from the known artifacts, and compare them.

This commit moves the comparison logic to the base class, and unifies the two computation interfaces, respectively as an extid() method on TPackageInfo and a method on the loader.

This unified object for comparison is a byte string, which is internal to each loader for now, but a future commit will read and write it from/to the ExtID storage instead of computing it from the 'original_artifacts' present in revision metadata.


Migrated from D5290 (view on Phabricator)

Merge request reports

Loading