Hi, zimoun skribis: > Let’s describe the use case. Consider that: > > guix time-machine -C channels -- install foo > > is provided in some documentation, say scientific paper. Where the > channels.scm file is completly described: > > (list (channel > (name 'kikoo) > (url "https://example.org/that-great.git") > (commit > "353bdae32f72b720c7ddd706576ccc40e2b43f95"))) > > In the future, if https://example.org/that-great.git disappears, then > build/install the package ’foo’ is becoming difficult, nor impossible. > > However, let’s consider that the repo ’that-great’ had been saved in SWH > (say manually); since it is a regular Git repo. Guix should be able to > fallback to it transparently. I went head-down to add SWH fallback to ‘latest-repository-commit’… but that’s of no use because (guix channels) wants a complete clone so that it can determine commit relations (to detect downgrades). The SWH vault gives access to checkouts primarily, but it’s also possible to get a full repo in ‘git fast-import’ format, which is what we need: https://archive.softwareheritage.org/api/1/vault/revision/gitfast/doc/ However, this API will be eventually replaced by some other solution say SWH developers, possibly a bare Git repo export, so it may not be a good idea to build upon it. If we were able, using the SWH API, to map “revisions” to “origins”, we could find potential mirrors hosting a given commit, but apparently that’s not possible. To be continued… Ludo’.