equal
deleted
inserted
replaced
82 /// Returns a DirstateMap |
82 /// Returns a DirstateMap |
83 @staticmethod |
83 @staticmethod |
84 def new_v2( |
84 def new_v2( |
85 on_disk: PyBytes, |
85 on_disk: PyBytes, |
86 data_size: usize, |
86 data_size: usize, |
|
87 tree_metadata: PyBytes, |
87 ) -> PyResult<PyObject> { |
88 ) -> PyResult<PyObject> { |
88 let dirstate_error = |e: DirstateError| { |
89 let dirstate_error = |e: DirstateError| { |
89 PyErr::new::<exc::OSError, _>(py, format!("Dirstate error: {:?}", e)) |
90 PyErr::new::<exc::OSError, _>(py, format!("Dirstate error: {:?}", e)) |
90 }; |
91 }; |
91 let inner = OwningDirstateMap::new_v2(py, on_disk, data_size) |
92 let inner = OwningDirstateMap::new_v2( |
92 .map_err(dirstate_error)?; |
93 py, on_disk, data_size, tree_metadata, |
|
94 ).map_err(dirstate_error)?; |
93 let map = Self::create_instance(py, Box::new(inner))?; |
95 let map = Self::create_instance(py, Box::new(inner))?; |
94 Ok(map.into_object()) |
96 Ok(map.into_object()) |
95 } |
97 } |
96 |
98 |
97 def clear(&self) -> PyResult<PyObject> { |
99 def clear(&self) -> PyResult<PyObject> { |
351 let now = Timestamp(now.extract(py)?); |
353 let now = Timestamp(now.extract(py)?); |
352 |
354 |
353 let mut inner = self.inner(py).borrow_mut(); |
355 let mut inner = self.inner(py).borrow_mut(); |
354 let result = inner.pack_v2(now, can_append); |
356 let result = inner.pack_v2(now, can_append); |
355 match result { |
357 match result { |
356 Ok((packed, append)) => { |
358 Ok((packed, tree_metadata, append)) => { |
357 let packed = PyBytes::new(py, &packed); |
359 let packed = PyBytes::new(py, &packed); |
358 Ok((packed, append).to_py_object(py).into_object()) |
360 let tree_metadata = PyBytes::new(py, &tree_metadata); |
|
361 let tuple = (packed, tree_metadata, append); |
|
362 Ok(tuple.to_py_object(py).into_object()) |
359 }, |
363 }, |
360 Err(_) => Err(PyErr::new::<exc::OSError, _>( |
364 Err(_) => Err(PyErr::new::<exc::OSError, _>( |
361 py, |
365 py, |
362 "Dirstate error".to_string(), |
366 "Dirstate error".to_string(), |
363 )), |
367 )), |