rust/hg-core/src/dirstate_tree/dirstate_map.rs
branchstable
changeset 50221 1891086f6c7f
parent 49373 f8ec7b16c98f
child 50222 ecd28d89c29e
--- a/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Fri Feb 24 01:15:45 2023 +0100
+++ b/rust/hg-core/src/dirstate_tree/dirstate_map.rs	Fri Feb 24 18:21:54 2023 +0100
@@ -38,6 +38,12 @@
     V2,
 }
 
+#[derive(Debug, PartialEq, Eq)]
+pub enum DirstateMapWriteMode {
+    Auto,
+    ForceNewDataFile,
+}
+
 #[derive(Debug)]
 pub struct DirstateMap<'on_disk> {
     /// Contents of the `.hg/dirstate` file
@@ -1251,11 +1257,11 @@
     #[timed]
     pub fn pack_v2(
         &self,
-        can_append: bool,
+        write_mode: DirstateMapWriteMode,
     ) -> Result<(Vec<u8>, on_disk::TreeMetadata, bool, usize), DirstateError>
     {
         let map = self.get_map();
-        on_disk::write(map, can_append)
+        on_disk::write(map, write_mode)
     }
 
     /// `callback` allows the caller to process and do something with the
@@ -1812,7 +1818,7 @@
         )?;
 
         let (packed, metadata, _should_append, _old_data_size) =
-            map.pack_v2(false)?;
+            map.pack_v2(DirstateMapWriteMode::ForceNewDataFile)?;
         let packed_len = packed.len();
         assert!(packed_len > 0);