Note:

This page is primarily intended for developers of Mercurial.

Stable Range

Status: experiment done - waiting on core implementation

Main proponents: Pierre-YvesDavid

Stable range provide a standard way to slice the history DAG into a small number of range

1. Goal

Stable-ranges get useful when some logic needs a recursive way to slice the history of a repository in smaller and smaller group of revisions. Here is example of such use cases:

2. Detailed description

Please read associated documentation in the experimental code:

The experiment show it has the right scaling property. We have been able to use it in production for the two projected usecase.

The documentation constains idea for a more final form of data storage. The final size you be < 1% of the current sqlite storage size.

In short we need to store the following data for each revision:

(A scientific paper is also in the writing, link to the draft to be shared "shortly")

3. Roadmap

4. See Also


CategoryDeveloper CategoryNewFeatures

stablerange (last edited 2019-09-10 06:28:00 by Pierre-YvesDavid)