FUSE: add support for origin visits
Draft proposal/RFC for how to offer an origin/visit view in SwhFS:
- we add a new top-level directory
/origin
(at the same level of/archive
and `/meta) - one can
cd origin/<ORIGIN_URL>/
, where ORIGIN_URL is an URL-encoded origin URL that can be passed to the /origin endpoint of the Web API - within
origin/<ORIGIN_URL>/
, dir listing returns a list of visit timestamps, one for each visit, analogous to the /origin/visit/ Web API endpoint (caveat here: there might be multiple visits at the exact same timestamp, done with different loaders. But adding an addition layerorigin/<ORIGIN_URL>/<VISIT_TYPE>/
seems really overkill. So I'm tempted to just ignore this problem and, in case of conflict, just arbitrarily pick one) - within
origin/<ORIGIN_URL>/<VISIT_TIMESTAMP>/
we have the equivalent of the /visit Web API endpoint with the following layout-
snapshot
→ points to the snapshot object as a symlink toarchive/<SWHID>
-
meta.json
→ all the meta info returned by /visit (note that this is //not// a symlink tometa/<SWHID>
as visits are not identifiable by SWHIDs
-
Feedback welcome !
Note: it's clear that cd origin/<ORIGIN_URL>
is not going to be practically useful for users, because the chances of getting right the origin URL are very slim. But we can add a separate command, either in swh-fuse or elsewhere, mimicking Web UI search that returns the right URL and then compose it with what is proposed in this task.
Migrated from T2784 (view on Phabricator)
Edited by Phabricator Migration user