4 ms·
Git does store deltas between files to reduce space. Every so often it stores a full copy of the file to improve performance. Perhapps patch was the wrong word
by georgyo 8y ago
Git does store deltas between files to reduce space. Every so often it stores a full copy of the file to improve performance.
Perhapps patch was the wrong word, but a delta and a patch are the same in my mind.
I am sure everything, including pijul, does diff generation on the fly of the full files at different points. It would be faster than figuring out the difference of patches alone.
- atombender 8y agoA packfile delta in Git is arguably an implementation detail — a compression technique — not part of the data model. Git's data model consists of commits, trees, refs and so on. Not patches. You can implement Git without deltas and it will work the same. But in Pijul, the patch is the data model. The whole idea of Pijul (and the project it was inspired by, Darcs) is that if you think of patches as units of data that fit together using a kind of formalism (usually called the "theory of patches"), you end up with a very powerful system that makes certain things — solving conflicts, figuring out what commits a single commit depend on — super easy. The patch isn't an implementation detail, because you cannot reimplement Pijul without it.