A Coherent Vision for the Future of Version Control
6 hours ago
- #CRDT
- #version-control
- #merge-conflicts
- Manyana is a project proposing a new vision for version control using CRDTs (Conflict-Free Replicated Data Types).
- CRDTs ensure merges never fail and provide eventual consistency, with the same result regardless of merge order.
- Conflict presentation in Manyana is more informative, showing what changes were made by whom, rather than opaque blobs.
- Line ordering becomes permanent in CRDTs, preventing issues when conflicting sections are kept but resolved in different orders.
- Conflicts are flagged when changes touch each other but never block the merge, making them informative rather than blocking.
- History is stored in the structure (a weave), eliminating the need for common ancestor traversal during merges.
- Rebase in Manyana preserves full history while replaying commits onto a new base, avoiding issues with fictional histories.
- Manyana is currently a demo (470 lines of Python) focusing on individual files, not a full version control system.
- The project demonstrates that CRDT-based version control can solve hard UX problems better than current tools.
- The code is public domain, with a full design document in the README.