-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Git hashing as a new file ingestion method --- contains #3754 #3635
Conversation
This simplifies code so that references to r: come from ingestionMethodPrefix.
this is more precise
Interesting! I wonder if we could teach IPFS about NARs, in the same way that IPFS knows about Git? |
@grahamc We could, no doubt about it. But there are reasons to want to try git objects even if it is not the only way to talk to IPFS:
We'll write an RFC that lays out a fully-fleshed motivation. This PR is supposed to be the sneak preview / if anyone has any specific implementation concerns we ought to know about sooner rather than later. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/obsidian-systems-is-excited-to-bring-ipfs-support-to-nix/7375/17 |
@Ericson2314 are there limitations around large files similar to Git? Is it possible to cut them up in smaller pieces in a casync fashion? |
@zimbatm git works with arbitrary sized files, but poorly. I went with it because it is popular, especially among the data we have as input (git repos, of course)---it's important for network effects that the addresses themselves, not merely the data, be well known. I think that's a fine choice for now, and in a world where these p2p technologies are much more widely used we'll have ample opportunity to change it. #3640 for example doesn't say we should put git and nar on equal footing, but anything that might go in the |
Hopefully we can instead pass arguments like Hydra does, soon.
This matches what we want for blobs. Trees are still in progress - we need a way to symlink to other objects, using that to determine ca.
This is really bad and dangerous! But Git migration to sha256 is still a ways away: https://lwn.net/Articles/811068/ So we need to allow it for the time being.
We need access to other things in the store. This is kind of dangerous though if things are added in the wrong order�.
This is needed to create files based on git permissions
This updates the remote protocol to try to handle sha1 hashes.
This is an umbrella PR for all the work we are doing towards git object support in Nix, as part of https://discourse.nixos.org/t/obsidian-systems-is-excited-to-bring-ipfs-support-to-nix . We will probably break up into smaller PRs as it nears completion. More details forthcoming.
CC @nlewo
depends on #3754