Meta
Meta logoMeta · Feature trail

Source Control Systems

7 posts · May 2013 – Oct 2025

What this trail covers

Meta's source control systems have evolved with the development and open-sourcing of Sapling, a Git-compatible client designed for extreme scalability and user-friendliness. This evolution includes the adoption of Rust for critical components like the Mononoke rewrite of Mercurial, demonstrating Rust's reliability and performance benefits for large-scale systems. The company has also established dedicated teams to support Rust development, improve interoperability with C++, and contribute to the broader open source community. Recent advancements include the introduction of directory branching, which addresses the challenges of managing multiple versions of code within a large monorepo by providing a scalable and developer-friendly alternative to full-repo branching. This new workflow allows for merging changes at the directory level while maintaining a linear commit graph at the repository level, resolving performance issues and enabling more flexible development workflows. Future work includes better integration of Git repositories into the Sapling monorepo through lightweight migration mechanisms.

All Meta trails