4 ms·
I like the patch-based approach of Pijul and Darcs: rearranging patches seems less fragile than rebasing snapshots. I'd like to see git's content-based more in
by chriswarbo 4y ago
I like the patch-based approach of Pijul and Darcs: rearranging patches seems less fragile than rebasing snapshots.
I'd like to see git's content-based more integrated into projects like IPFS (and for IPFS to get their resource-usage down, so it can be run as a background task on my laptop!)
As for package management, Git and Nix work really well together: e.g. we can use `builtins.fetchGit` to fetch particular commits; and we can `import` Nix definitions from those git commits; and those definitions can fetch other repos, etc. so we get a Merkle tree of the exact code used by all of our dependencies. I also like to write commit IDs as default function arguments, which makes it easy to override any of these dependencies to use another commit.
- pmeunier 4y agoPijul works quite differently from Darcs: the primary datastructure in Darcs is indeed a list of patches, and the main operation is rearrangement. Pijul is instead a CRDT, meaning that independent patches can be applied in any order without changing the result, which makes rearrangement unnecessary, and the system much faster.