Freedom251 › Version Control Software
Sapling SCM

What Sapling SCM is
Sapling SCM is a free, open-source, distributed source control system that works with Git repositories and targets very large codebases. Its CLI clones repositories and works with GitHub and other Git hosting services. Smartlog shows relevant commits, graph relationships, repository locations, and commit details, while `sl web` opens a browser-based Interactive Smartlog for repository viewing and manipulation. The VS Code extension embeds that interface and adds source-control and editable-diff views; Visual Studio extensions are also available. Sapling supports stacked commits, automatic restacking after amendments, mutation undo, sparse checkout, nested repositories, and signed Git commits through GPG, SSH, or X.509 backends. The `sl pr` command creates or updates GitHub pull requests, and ReviewStack supports discussion and navigation for stacked changes. Prebuilt binaries are available for macOS, Windows, and Linux. The project uses GPL-2.0, and documentation notes limitations in public Git support and unsupported large-scale server components.
Who it suits
Sapling SCM suits developers working with Git repositories, stacked commits, and large codebases across macOS, Windows, or Linux. It also fits users who want browser, VS Code, Visual Studio, or GitHub workflows.
What it does well
- Free and open source
- GitHub pull-request integration
- Stacked commits with restacking
- Commit mutation undo
- Sparse checkout and nested repositories
What to know first
- Git support may still have kinks
- Large-scale server components lack public support
- Commit signing works only in Git repositories
- Most polished for always-online monorepos
Verdict
Sapling SCM combines Git compatibility with stacked-commit workflows, visual repository views, editor integrations, and undoable mutations. Its free GPL-2.0 licensing is useful for broad adoption, while the documentation identifies limits around public Git support and the largest deployments.
Facts from Sapling SCM's own pages
- Commit stacks
- Sapling supports creating and editing stacks of commits, including automatically restacking child commits after an amend. · sapling-scm.com, 11 Oct 2026
- Data handling
- The open source version's diagnostic `sl rage` command does not upload data, unlike the version used inside Meta, which automatically uploads its report to a server. · sapling-scm.com, 11 Oct 2026
- Desktop platforms
- The installation guide provides prebuilt binaries for macOS, Windows, and Linux. · sapling-scm.com, 11 Oct 2026
- Editor add-ons
- Sapling offers Visual Studio and VS Code extensions; the VS Code extension embeds Interactive Smartlog and provides source control and editable diff views. · sapling-scm.com, 11 Oct 2026
- GitHub integration
- Sapling can create and update GitHub pull requests with `sl pr`, and GitHub CLI authentication with a personal access token is recommended. · sapling-scm.com, 11 Oct 2026
- GitHub workflow
- Sapling can clone and work with Git repositories, and its GitHub integrations support submitting stacked commits as pull requests. · sapling-scm.com, 10 Oct 2026
- Git support
- The Sapling CLI can clone Git repositories and work with GitHub and other Git hosting services. · sapling-scm.com, 11 Oct 2026
- Interactive interface
- Users can launch a browser-based Interactive Smartlog with `sl web` to view and manipulate their repository. · sapling-scm.com, 10 Oct 2026
- Large repositories
- The public documentation says Sapling works with Meta's server and virtual filesystem to scale to repositories with tens of millions of files, commits, and branches, and notes those components are not yet publicly available. · sapling-scm.com, 11 Oct 2026
- Large repository support
- Sapling describes its scaling goal as making source control operations scale with the files a developer uses rather than the repository’s total size. · github.com, 10 Oct 2026
- License
- The main Sapling project is licensed under GPL-2.0. · github.com, 10 Oct 2026
- Limitations
- The documentation says Sapling is most polished and battle tested for corporate, always-online, single-master, rebase-oriented monorepo environments, and that Git support may still have kinks. · sapling-scm.com, 11 Oct 2026
- Platforms
- The installation guide provides binaries or installation instructions for macOS, Windows, and Linux. · sapling-scm.com, 10 Oct 2026
- Product
- Sapling is a source control system developed and used at Meta, with an emphasis on usability and scalability. · sapling-scm.com, 11 Oct 2026
- Public server limits
- Mononoke and EdenFS are used within Meta but are not publicly supported for external use; their open-source builds are available for unsupported experimentation. · github.com, 10 Oct 2026
- ReviewStack
- ReviewStack is a companion interface for GitHub pull requests with support for reviewing stacked changes. · sapling-scm.com, 11 Oct 2026
- ReviewStack integration
- ReviewStack provides a GitHub pull request interface with navigation and discussion support for stacked changes. · sapling-scm.com, 10 Oct 2026
- Security
- Git repository commits can be signed using GPG, SSH, or X.509 (S/MIME) backends; commit signing is currently supported only in Git repositories. · sapling-scm.com, 11 Oct 2026
- Smartlog
- Smartlog summarizes local commits, important branches, commit relationships, and the current checkout in a concise repository view. · sapling-scm.com, 11 Oct 2026
- Support
- The project links to a Discord community and GitHub repository from its official site. · sapling-scm.com, 11 Oct 2026
- Undo
- Sapling records commit mutations so users can undo changes and recover earlier repository states. · sapling-scm.com, 11 Oct 2026
- VS Code integration
- Sapling’s VS Code extension embeds Interactive Smartlog and provides source control features including uncommitted changes and editable diffs. · sapling-scm.com, 10 Oct 2026
Where Sapling SCM stands on Freedom251
- Version Control Software#40 of 62
