This page is primarily intended for Mercurial's developers.
Atomic Repository Layout Plan
Main proponents: Pierre-YvesDavid
This is a speculative project and does not represent any firm decisions on future behavior.
Rework the layout of the file in the repository to allow atomic transaction for the new data we have (phase, bookmarks, obsmarkers).
Mercurial have gains multiple new data stored into different file. The fact we use multiple file exposed partial content of transaction at commit time. So we need a new layout for the content of the .hg/ directory. This new layout needs to:
- offer Atomic transaction capabilities,
easily work with the share extensions (see SharedRepository),
- be friendly with cache file,
- provide easier way to compute cache key to detect when the repo changed.