facebook/sapling

A Scalable, User-Friendly Source Control System.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 15 minutes ago
Added to GitGenius on August 8th, 2026
Created on May 5th, 2016
Open Issues & Pull Requests: 360 (+0)
Number of forks: 386
Total Stargazers: 6,962 (+0)
Total Subscribers: 66 (+0)

Issue Activity (beta)

Open issues: 108
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 662 days
Stale 30+ days: 103
Stale 90+ days: 95

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (18)
  • feature-request (16)
  • documentation (11)
  • build (9)
  • isl (6)
  • packaging (6)
  • reviewstack (6)
  • enhancement (5)

Most active issues this week

Repository Insights (GitGenius)

Median issue/PR response: 2.0 days
Mean response time: 69.0 days
90th percentile: 188.9 days
Tracked items: 168

Most active contributors

Detailed Description

Sapling SCM is a cross-platform, Git-compatible source control system developed by Facebook that prioritizes both user-friendliness and extreme scalability for repositories containing millions of files and commits. Written primarily in Rust, it represents a significant alternative to Git, designed to handle the demands of massive codebases while maintaining responsive developer experiences. The project is organized around three main components: the Sapling client command-line interface and web UI, Mononoke as the server-side distributed source control backend, and EdenFS as a virtual filesystem for efficient repository checkouts.

The Sapling CLI, found in the eden/scm subdirectory, was originally based on Mercurial and retains various UI and feature aspects from that system. It provides the sl command-line tool alongside an Interactive Smartlog web interface for visualizing and interacting with repositories. The project also offers a VS Code integrated version of the Interactive Smartlog. For users transitioning from Git, Sapling provides a dedicated cheat sheet to ease adoption. Building the CLI requires Python 3.8, Rust, CMake, OpenSSL, Node, and Yarn, and it currently supports Linux, Mac, and Windows platforms.

Mononoke serves as the production-grade server component used internally at Meta, though it remains unsupported for external usage. The open-source builds are available through GitHub Actions for experimentation purposes. EdenFS, the virtual filesystem component, also operates in production at Meta but lacks public support. It optimizes large repository operations by populating working directory files on demand rather than checking out entire repositories upfront, significantly accelerating operations like checkout while accepting minor performance costs on first file access. This approach proves particularly beneficial for developers working with repository subsets.

The repository demonstrates active maintenance and community engagement. GitGenius tracking data shows a median issue and pull request response latency of 49 hours across 168 items, with a mean latency of 1656.2 hours reflecting occasional longer-running discussions. The most frequently labeled issues involve bugs (18 occurrences), feature requests (16), and documentation (11). Primary contributors include zzl0 with 75 tracked events, quark-zju with 68 events, and bherila with 56 events. The project maintains overlapping contributors with major repositories including rust-lang/rust, swiftlang/swift, and astral-sh/ruff, indicating cross-pollination with significant open-source projects.

Sapling's core architectural philosophy centers on scalability that grows with developer-specific file usage rather than total repository size. This design enables performant operations even in massive codebases with extremely long commit histories. The project is licensed under GPL-2.0 for the main codebase, with the website and ISL components under MIT licensing. Library subprojects may carry different licenses as specified in their individual LICENSE files. Users can report issues on GitHub or join the project's Discord community for support and discussion.

sapling
by
facebookfacebook/sapling

Repository Details

Fetching additional details & charts...