whishlist: time-machine --channel falls back to SWH
(address . email@example.com)
Dear, Let’s describe the use case. Consider that: guix time-machine -C channels -- install foo is provided in some documentation, say scientific paper. Where thechannels.scm file is completly described:
In the future, if https://example.org/that-great.gitdisappears, thenbuild/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 tofallback to it transparently.
Obviously, another whislist is to have something to ease the saverequest of the channel on SWH. Maybe this latter could be part of theseveral-times discussed “guix channel” subcommand. :-)
Toggle quote (20 lines)> 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’… butthat’s of no use because (guix channels) wants a complete clone so thatit can determine commit relations (to detect downgrades). The SWH vault gives access to checkouts primarily, but it’s alsopossible to get a full repo in ‘git fast-import’ format, which is whatwe need: https://archive.softwareheritage.org/api/1/vault/revision/gitfast/doc/ However, this API will be eventually replaced by some other solution saySWH developers, possibly a bare Git repo export, so it may not be a goodidea to build upon it. If we were able, using the SWH API, to map “revisions” to “origins”, wecould find potential mirrors hosting a given commit, but apparentlythat’s not possible. To be continued… Ludo’.