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)