Pijul: Sane Version Control
summary
A new distributed VCS called Pijul implements branches as unordered set of patches and builds a sound patch algebra from category theory so merges are associative and patches have semantic inverses. It uses a new data structure giving complexity linear in patch size and logarithmic in history, outperforms git on large merges in early benchmarks, and ships Rust components: a forkable on-disk DB with fork in logarithmic time, an SSH stack, Windows support, and a working prototype.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:28Version control today
- 2:16Functional programming finally taking off
- 4:05Functional version control?
- 8:07Why darcs failed: Conflicts
- 10:15Category theory to the rescue!
- 13:09How Pijul works (approximately)
- 15:29Different from CRDTS
- 17:15A sound theory of patches!
- 20:18Why Rust?
- 22:28Companion projects
related talks
56mVersions All the Way Down: Versioning Commits and Patches with Git-Series
11mjj: Simpler and More Powerful Than Git
27mModern Source and Version Control with Git
42mBranchstack: branching infra for better development
58mFeature Branches And Toggles In A Post-GitHub World
40mRust’s approach of getting things right
54mKEYNOTE: A journey through incremental computation
44mRust
