Replace Git on a large monorepo where commands have become slow, without abandoning existing Git workflows.
Use the visual Smartlog browser interface to navigate a complex commit history instead of the command line.
Speed up checkout on a massive codebase with EdenFS, which loads files on demand rather than all at once.
| facebook/sapling | openethereum/parity-ethereum | rust-lang/rustfmt | |
|---|---|---|---|
| Stars | 6,835 | 6,837 | 6,827 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | hard | easy |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install the sl CLI client, the Mononoke server component is not supported for external use.
Sapling is a source control system, which is the category of tool that developers use to track changes to code over time. Git is the most well-known tool in this category. Sapling is designed to be compatible with Git repositories, meaning you can use it to work with existing Git projects, while also aiming to be easier to learn and faster to use at very large scale. The project was built at Meta (Facebook) to handle repositories with millions of files and millions of commits, where standard Git can become slow. Sapling's design goal is that operations stay fast relative to the number of files a developer is actively working with, rather than slowing down as the full repository grows. Sapling has three main parts. The first is the client, a command-line tool called sl that developers use day to day. It also includes a browser-based visual interface called Interactive Smartlog, which shows your commit history and lets you interact with it visually. There is also a VS Code extension for the same visual interface. The second part, called Mononoke, is a server component Meta uses in production but is not yet supported for outside use. The third part, EdenFS, is a virtual file system that makes checking out large repositories faster by only loading files when you actually open them. The command-line tool works on Linux, Mac, and Windows. The project is open source under GPL-2.0, with some parts under MIT. Issues can be reported on GitHub and there is a Discord community for questions.
A source control tool built by Meta that works with Git repositories and stays fast even in very large codebases with millions of files and commits.
Mainly Rust. The stack also includes Rust, Python.
GPL-2.0 for most parts with some MIT, open source but derivative works must remain open under GPL.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.