comparison rust/hg-cpython/src/dirstate/dirstate_map.rs @ 48421:2097f63575a5

rhg: Add Repo::write_dirstate This method is not used yet. It saves to disk any mutation that was done to the `Repo`’s dirstate through `Repo::dirstate_map_mut`. It takes care of dirstate-v1 v.s. dirstate-v2, dockets, data files, appending when possible, etc. Differential Revision: https://phab.mercurial-scm.org/D11839
author Simon Sapin <simon.sapin@octobus.net>
date Thu, 02 Dec 2021 15:10:03 +0100
parents c1b633db67fc
children dd6b67d5c256
comparison
equal deleted inserted replaced
48420:c7c23bb036c9 48421:2097f63575a5
220 let inner = self.inner(py).borrow(); 220 let inner = self.inner(py).borrow();
221 let result = inner.pack_v2(can_append); 221 let result = inner.pack_v2(can_append);
222 match result { 222 match result {
223 Ok((packed, tree_metadata, append)) => { 223 Ok((packed, tree_metadata, append)) => {
224 let packed = PyBytes::new(py, &packed); 224 let packed = PyBytes::new(py, &packed);
225 let tree_metadata = PyBytes::new(py, &tree_metadata); 225 let tree_metadata = PyBytes::new(py, tree_metadata.as_bytes());
226 let tuple = (packed, tree_metadata, append); 226 let tuple = (packed, tree_metadata, append);
227 Ok(tuple.to_py_object(py).into_object()) 227 Ok(tuple.to_py_object(py).into_object())
228 }, 228 },
229 Err(_) => Err(PyErr::new::<exc::OSError, _>( 229 Err(_) => Err(PyErr::new::<exc::OSError, _>(
230 py, 230 py,