Better Programming

Advice for programmers.

Follow publication

Member-only story

Sapling by Meta: A Review of the New Version Control System

Michael Krasnov
Better Programming
Published in
10 min readDec 23, 2022

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

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Michael Krasnov
Michael Krasnov

Written by Michael Krasnov

Software Developer | Writer | Open Source Evangelist

Write a response