← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~cjwatson/launchpad:archive-api-snapshots into launchpad:master

 

The proposal to merge ~cjwatson/launchpad:archive-api-snapshots into launchpad:master has been updated.

Description changed to:

Now that we record enough history of archive files in the database, we can extend the XML-RPC API to allow querying it.  This commit adds an optional `live_at` parameter to `ArchiveAPI.translatePath`; if given, the API will return files as they existed in the archive at that time.

We needed some corresponding additions to internal APIs:

 * `Archive.getPoolFileByPath` handles pool files, which are simple: they either exist at a given time or they don't.

 * `ArchiveFileSet.getByArchive` handles index files, where there are some subtleties because the same paths have different contents at different times.  For the ordinary paths (e.g. `dists/jammy/InRelease`), `ArchiveFile` rows stop holding those paths once they've been superseded; but for the `by-hash` paths (e.g. `dists/jammy/by-hash/SHA256/<sha256>`), `ArchiveFile` rows are valid until they're marked as having been removed.  We need separate `live_at` and `existed_at` parameters to capture this distinction.

See https://code.launchpad.net/~cjwatson/lp-archive/+git/lp-archive/+merge/436649 for the other end of this.

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/436591
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/launchpad:archive-api-snapshots into launchpad:master.



References