rust/hg-cpython/src/dirstate/dirstate_map.rs
branchstable
changeset 49000 dd6b67d5c256
parent 48421 2097f63575a5
child 49098 55c158a33fa5
child 49145 dd2503a63d33
--- a/rust/hg-cpython/src/dirstate/dirstate_map.rs	Tue Apr 05 10:55:27 2022 +0200
+++ b/rust/hg-cpython/src/dirstate/dirstate_map.rs	Tue Apr 05 10:55:28 2022 +0200
@@ -23,7 +23,6 @@
 };
 use hg::{
     dirstate::StateMapIter,
-    dirstate_tree::dirstate_map::DirstateMap as TreeDirstateMap,
     dirstate_tree::on_disk::DirstateV2ParseError,
     dirstate_tree::owning::OwningDirstateMap,
     revlog::Node,
@@ -53,18 +52,12 @@
         on_disk: PyBytes,
     ) -> PyResult<PyObject> {
         let on_disk = PyBytesDeref::new(py, on_disk);
-        let mut map = OwningDirstateMap::new_empty(on_disk);
-        let (on_disk, map_placeholder) = map.get_pair_mut();
-
-        let (actual_map, parents) = TreeDirstateMap::new_v1(on_disk)
+        let (map, parents) = OwningDirstateMap::new_v1(on_disk)
             .map_err(|e| dirstate_error(py, e))?;
-        *map_placeholder = actual_map;
         let map = Self::create_instance(py, map)?;
-        let parents = parents.map(|p| {
-            let p1 = PyBytes::new(py, p.p1.as_bytes());
-            let p2 = PyBytes::new(py, p.p2.as_bytes());
-            (p1, p2)
-        });
+        let p1 = PyBytes::new(py, parents.p1.as_bytes());
+        let p2 = PyBytes::new(py, parents.p2.as_bytes());
+        let parents = (p1, p2);
         Ok((map, parents).to_py_object(py).into_object())
     }
 
@@ -79,9 +72,7 @@
             PyErr::new::<exc::OSError, _>(py, format!("Dirstate error: {:?}", e))
         };
         let on_disk = PyBytesDeref::new(py, on_disk);
-        let mut map = OwningDirstateMap::new_empty(on_disk);
-        let (on_disk, map_placeholder) = map.get_pair_mut();
-        *map_placeholder = TreeDirstateMap::new_v2(
+        let map = OwningDirstateMap::new_v2(
             on_disk, data_size, tree_metadata.data(py),
         ).map_err(dirstate_error)?;
         let map = Self::create_instance(py, map)?;