##// END OF EJS Templates
rust: Serializing a DirstateMap does not mutate it anymore...
Simon Sapin -
r49244:c1b633db default
parent child Browse files
Show More
@@ -909,10 +909,10 b' impl OwningDirstateMap {'
909
909
910 #[timed]
910 #[timed]
911 pub fn pack_v1(
911 pub fn pack_v1(
912 &mut self,
912 &self,
913 parents: DirstateParents,
913 parents: DirstateParents,
914 ) -> Result<Vec<u8>, DirstateError> {
914 ) -> Result<Vec<u8>, DirstateError> {
915 let map = self.get_map_mut();
915 let map = self.get_map();
916 // Optizimation (to be measured?): pre-compute size to avoid `Vec`
916 // Optizimation (to be measured?): pre-compute size to avoid `Vec`
917 // reallocations
917 // reallocations
918 let mut size = parents.as_bytes().len();
918 let mut size = parents.as_bytes().len();
@@ -949,10 +949,10 b' impl OwningDirstateMap {'
949 /// (false).
949 /// (false).
950 #[timed]
950 #[timed]
951 pub fn pack_v2(
951 pub fn pack_v2(
952 &mut self,
952 &self,
953 can_append: bool,
953 can_append: bool,
954 ) -> Result<(Vec<u8>, Vec<u8>, bool), DirstateError> {
954 ) -> Result<(Vec<u8>, Vec<u8>, bool), DirstateError> {
955 let map = self.get_map_mut();
955 let map = self.get_map();
956 on_disk::write(map, can_append)
956 on_disk::write(map, can_append)
957 }
957 }
958
958
@@ -553,7 +553,7 b" pub(crate) fn for_each_tracked_path<'on_"
553 /// `dirstate_map.on_disk` (true), instead of written to a new data file
553 /// `dirstate_map.on_disk` (true), instead of written to a new data file
554 /// (false).
554 /// (false).
555 pub(super) fn write(
555 pub(super) fn write(
556 dirstate_map: &mut DirstateMap,
556 dirstate_map: &DirstateMap,
557 can_append: bool,
557 can_append: bool,
558 ) -> Result<(Vec<u8>, Vec<u8>, bool), DirstateError> {
558 ) -> Result<(Vec<u8>, Vec<u8>, bool), DirstateError> {
559 let append = can_append && dirstate_map.write_should_append();
559 let append = can_append && dirstate_map.write_should_append();
@@ -195,7 +195,7 b' py_class!(pub class DirstateMap |py| {'
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)?,
@@ -217,7 +217,7 b' py_class!(pub class DirstateMap |py| {'
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)) => {
General Comments 0
You need to be logged in to leave comments. Login now