comparison rust/hg-cpython/src/dirstate/dirstate_map.rs @ 48462:c1b633db67fc

rust: Serializing a DirstateMap does not mutate it anymore Differential Revision: https://phab.mercurial-scm.org/D11834
author Simon Sapin <simon.sapin@octobus.net>
date Mon, 29 Nov 2021 17:37:08 +0100
parents 434de12918fd
children 2097f63575a5
comparison
equal deleted inserted replaced
48461:9ff246cd6200 48462:c1b633db67fc
193 def write_v1( 193 def write_v1(
194 &self, 194 &self,
195 p1: PyObject, 195 p1: PyObject,
196 p2: PyObject, 196 p2: PyObject,
197 ) -> PyResult<PyBytes> { 197 ) -> PyResult<PyBytes> {
198 let mut inner = self.inner(py).borrow_mut(); 198 let inner = self.inner(py).borrow();
199 let parents = DirstateParents { 199 let parents = DirstateParents {
200 p1: extract_node_id(py, &p1)?, 200 p1: extract_node_id(py, &p1)?,
201 p2: extract_node_id(py, &p2)?, 201 p2: extract_node_id(py, &p2)?,
202 }; 202 };
203 let result = inner.pack_v1(parents); 203 let result = inner.pack_v1(parents);
215 /// instead of written to a new data file (False). 215 /// instead of written to a new data file (False).
216 def write_v2( 216 def write_v2(
217 &self, 217 &self,
218 can_append: bool, 218 can_append: bool,
219 ) -> PyResult<PyObject> { 219 ) -> PyResult<PyObject> {
220 let mut inner = self.inner(py).borrow_mut(); 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);