📄️ Bisect-Based Copy Tracing
Copy tracing is a technique used to efficiently account for file copies and
📄️ DrawDag
DrawDag provides an intuitive way to create commit graph for tests.
📄️ IndexedLog
IndexedLog is the main on-disk storage format used by various components in
📄️ Internal differences from Mercurial
This page assumes that you are familiar with Mercurial internals.
📄️ LineLog
LineLog is an implementation of interleaved deltas.
📄️ MetaLog
MetaLog is used to track lightweight repo metadata like bookmarks, remote
📄️ Visibility and mutation
The way Sapling tracks which commits are visible to an individual developer, and how it tracks the ways in which commits have been mutated, differs from other source control systems. Designing a system to allow mutations of the otherwise immutable commit graph brings its own scaling challenges. This document describes the way these have been addressed in Sapling.
📄️ ZstDelta
ZstDelta uses zstd dictionary compression to calculate