whatisgithub

What is sapling?

facebook/sapling — explained in plain English

Analysis updated 2026-06-24

6,835RustAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Git-compatible source control
      Large repo performance
      Visual commit history
    Components
      sl CLI tool
      Interactive Smartlog
      EdenFS virtual filesystem
    Tech Stack
      Rust
      Python
    Platforms
      Linux
      macOS
      Windows
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace Git on a large monorepo where commands have become slow, without abandoning existing Git workflows.

USE CASE 2

Use the visual Smartlog browser interface to navigate a complex commit history instead of the command line.

USE CASE 3

Speed up checkout on a massive codebase with EdenFS, which loads files on demand rather than all at once.

What is it built with?

RustPython

How does it compare?

facebook/saplingopenethereum/parity-ethereumrust-lang/rustfmt
Stars6,8356,8376,827
LanguageRustRustRust
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Install the sl CLI client, the Mononoke server component is not supported for external use.

GPL-2.0 for most parts with some MIT, open source but derivative works must remain open under GPL.

So what is it?

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.

Copy-paste prompts

Prompt 1
How do I install Sapling and use it with my existing Git repository without losing any history or branches?
Prompt 2
Show me how to use the Sapling sl command to replace common git commands like commit, push, and pull.
Prompt 3
How do I set up the Sapling VS Code extension to get the Interactive Smartlog visual commit view?
Prompt 4
What is the difference between Sapling and Git for everyday tasks like branching and rebasing?

Frequently asked questions

What is sapling?

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.

What language is sapling written in?

Mainly Rust. The stack also includes Rust, Python.

What license does sapling use?

GPL-2.0 for most parts with some MIT, open source but derivative works must remain open under GPL.

How hard is sapling to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is sapling for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.