Hello Guix!

The Software Heritage archive is now accessible:

  https://www.softwareheritage.org/2018/06/07/opening-the-door/

For example, here’s our beloved guix.scm:

  
https://archive.softwareheritage.org/api/1/content/sha1_git:8753c21e423f880e7a6d9f7f6f6ff1139f8b7254/

and here’s the ‘v0.12.0’ tag and its “directory”:

  
https://archive.softwareheritage.org/api/1/revision/cccbc63950ad061538b1132b3dfef21794d6b780/
  
https://archive.softwareheritage.org/api/1/directory/30d76e7ab126284658f839c2c8b87954788b2a5b/

Here’s gcc-4.8.5.tar.bz2, though getting at its contents via /raw
returns 403:

  
https://archive.softwareheritage.org/api/1/content/sha256:22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23/

Documentation:

  https://archive.softwareheritage.org/api/1/
  
https://docs.softwareheritage.org/devel/swh-web/uri-scheme-api.html#swh-web-api-urls

Anyway, I find this pretty exciting, and I think we’ll be able to use it
as a fallback in ‘git-fetch’ without much work, since SWH supports Git
sha1 object ids.

It’s unclear whether we’ll be able to use it for plain old tarballs
since in general SWH is about storing commits or similar objects.  They
injected ftp.gnu.org though, which is why the GCC tarball above is
available, but I think it’s more of an exception.

An interesting thing is that, in Git terms, they keep all the objects
around.  So you can get the “history of a repo’s history”: if branches
were rebased, for instance, you can potentially retrieve the branch
before and after the rebase.

Ludo’.

Reply via email to