Given that I have a commit hash included in this URL, it is fairly clear I want this to be a permanent reference to a single unchanging piece of content.
Unfortunately the link can break in 4 different ways:
The commit gets deleted
The repo gets deleted or renamed
The user gets deleted or renamed
GitHub goes down
The first 3 of these issues are the ones I am most concerned about in practice. So I end up either having to just hope for the best, or fork a repo I have no intention of changing and keep it around until I stop using the code at that commit.
The 4th issue is one I am less concerned about in practice for most code. However for code that is more critical it does mean extra effort having to back it up on other sources and keeping track of these backup URLs alongside the regular URLs.
The solution to the first 3 is to have a content addressable storage endpoint for this content combined with a pinning mechanism:
The URL would look something like:
https://cas.github.com/<multihash>.zip
The data would be available as long as at least one repo contains it, or one user has it pinned. Ideally it would use multihash for future proofing and cross compatibility.
The solution to the fourth issue would be to then also upload this data to IPFS. Users that were particularly concerned about losing data could then pin it on IPFS on their own machines.
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
1 participant
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.
tysonzero commentedMar 21, 2020
•
edited
Currently archive URLs look like the following:
Given that I have a commit hash included in this URL, it is fairly clear I want this to be a permanent reference to a single unchanging piece of content.
Unfortunately the link can break in 4 different ways:
The commit gets deleted
The repo gets deleted or renamed
The user gets deleted or renamed
GitHub goes down
The first 3 of these issues are the ones I am most concerned about in practice. So I end up either having to just hope for the best, or fork a repo I have no intention of changing and keep it around until I stop using the code at that commit.
The 4th issue is one I am less concerned about in practice for most code. However for code that is more critical it does mean extra effort having to back it up on other sources and keeping track of these backup URLs alongside the regular URLs.
The solution to the first 3 is to have a content addressable storage endpoint for this content combined with a pinning mechanism:
The URL would look something like:
The data would be available as long as at least one repo contains it, or one user has it pinned. Ideally it would use
multihashfor future proofing and cross compatibility.The solution to the fourth issue would be to then also upload this data to IPFS. Users that were particularly concerned about losing data could then pin it on IPFS on their own machines.
The text was updated successfully, but these errors were encountered: