Mercurial > public > mercurial-scm > hg-stable
diff rust/hg-core/src/dirstate_tree/dispatch.rs @ 47674:ff97e793ed36
dirstate-v2: Introduce a docket file
.hg/dirstate now only contains some metadata to point to a separate data file
named .hg/dirstate.{}.d with a random hexadecimal identifier. For now every
update creates a new data file and removes the old one, but later we?ll
(usually) append to an existing file.
Separating into two files allows doing the "write to a temporary file then
atomically rename into destination" dance with only a small docket file,
without always rewriting a lot of data.
Differential Revision: https://phab.mercurial-scm.org/D11088
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Thu, 08 Jul 2021 12:18:21 +0200 |
parents | 6025353c9c55 |
children | 065e61628980 |
line wrap: on
line diff
--- a/rust/hg-core/src/dirstate_tree/dispatch.rs Thu Jul 15 17:24:09 2021 +0200 +++ b/rust/hg-core/src/dirstate_tree/dispatch.rs Thu Jul 08 12:18:21 2021 +0200 @@ -183,11 +183,7 @@ /// format. /// /// Note: this is only supported by the tree dirstate map. - fn pack_v2( - &mut self, - parents: DirstateParents, - now: Timestamp, - ) -> Result<Vec<u8>, DirstateError>; + fn pack_v2(&mut self, now: Timestamp) -> Result<Vec<u8>, DirstateError>; /// Run the status algorithm. /// @@ -387,11 +383,7 @@ self.pack(parents, now) } - fn pack_v2( - &mut self, - _parents: DirstateParents, - _now: Timestamp, - ) -> Result<Vec<u8>, DirstateError> { + fn pack_v2(&mut self, _now: Timestamp) -> Result<Vec<u8>, DirstateError> { panic!( "should have used dirstate_tree::DirstateMap to use the v2 format" )