Mercurial > public > mercurial-scm > hg-stable
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); |