From the README:

You’re looking at xit, a new version control system. Here be dragons, as they say. This is new and unstable software. Maybe one day it will be a worthy successor to git, but for now, only use it if you’re adventurous. Here are the main features:

  • git compatible
    • supports the git networking protocol for push/fetch/clone
    • read more about git compatibility
  • combine snapshot-based and patch-based version control
    • merging and cherry-picking uses patches like Darcs and Pijul
    • restoring files and anything sent over the network uses snapshots like git
    • read more about snapshots vs patches
  • built-in TUI
    • all functionality will be exposed via the TUI
    • for now though, it only shows log and status…baby steps!
    • read more about the TUI
  • store large/binary files efficiently
    • uses a modern chunking algorithm (FastCDC) to deltify large files
    • doesn’t compress binary files…it has no benefit and can even make them larger
    • read more about chunking
  • universal undo
    • any change to the repo can be cleanly undone
    • this feature is still under development, so it’s not available yet
    • read more about the immutable database
  • clean implementation
    • uses no third-party libraries in production…all bugs are our bugs
    • can be easily used as a library in other projects
    • contains a reuseable git implementation in pure Zig
    • read more about xit’s internals and using xit as a library