Member-only story
Sapling by Meta: A Review of the New Version Control System
Set up the new system, learn how to use it, and know the pros and cons

Version control systems are software tools that help developers track and manage changes to source code. There are several different version control systems available, each with its own set of features and capabilities.
Some popular version control systems include Git, Mercurial, and Subversion. All of these version control systems are designed to help developers collaborate on projects, track changes to their code, and maintain a history of their work. In this post, I will talk about a new player on the field, developed internally by Meta — Sapling.
Why Do We Need Sapling?
Given that we already have Git, Mercurial, and Subversion, among others, it is hard to see why exactly we need yet another version control system. As Meta puts it, Sapling is focused specifically on usability and scalability, mentioning that common workflows are simpler and recovering from mistakes is way easier. Additionally, Meta has designed Sapling and Sapling Server to be highly scalable, being able to handle tens of millions of files.
Sapling SCM (source code management) consists of three parts:
- Sapling CLI, a command-line tool that users use to clone repositories, perform commits, and push their changes to the server
- Sapling Server, a server-side backend application, that hosts and manages repositories.
- Sapling Virtual Filesystem, a filesystem used by Sapling to speed up the workflow.
As of late 2022, only Sapling CLI is released, while Sapling Server and Virtual Filesystem are not yet available to the public. The good news is that you can use Sapling with your existing Git repositories, and it even integrates nicely with GitHub!
How to Install Sapling
To get Sapling, you can follow the official installation guide, available here. For your convenience, here are the steps to installing Sapling on your system:
For macOS — install from Homebrew using this command:
$ brew install sapling