Mercurial > public > mercurial-scm > hg
comparison rust/hg-core/src/dirstate_tree/owning.rs @ 50252:a6b8b1ab9116
branching: merge stable into default
The clippy god had to be appeased on some aspect.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 02 Mar 2023 19:02:52 +0100 |
parents | e98fd81bb151 dbe09fb038fc |
children | 2cc5de261d76 |
comparison
equal
deleted
inserted
replaced
50248:2fbc109fd58a | 50252:a6b8b1ab9116 |
---|---|
29 .build() | 29 .build() |
30 } | 30 } |
31 | 31 |
32 pub fn new_v1<OnDisk>( | 32 pub fn new_v1<OnDisk>( |
33 on_disk: OnDisk, | 33 on_disk: OnDisk, |
34 identity: Option<u64>, | |
34 ) -> Result<(Self, DirstateParents), DirstateError> | 35 ) -> Result<(Self, DirstateParents), DirstateError> |
35 where | 36 where |
36 OnDisk: Deref<Target = [u8]> + Send + 'static, | 37 OnDisk: Deref<Target = [u8]> + Send + 'static, |
37 { | 38 { |
38 let on_disk = Box::new(on_disk); | 39 let on_disk = Box::new(on_disk); |
40 | 41 |
41 Ok(( | 42 Ok(( |
42 OwningDirstateMapTryBuilder { | 43 OwningDirstateMapTryBuilder { |
43 on_disk, | 44 on_disk, |
44 map_builder: |bytes| { | 45 map_builder: |bytes| { |
45 DirstateMap::new_v1(bytes).map(|(dmap, p)| { | 46 DirstateMap::new_v1(bytes, identity).map(|(dmap, p)| { |
46 parents = p.unwrap_or(DirstateParents::NULL); | 47 parents = p.unwrap_or(DirstateParents::NULL); |
47 dmap | 48 dmap |
48 }) | 49 }) |
49 }, | 50 }, |
50 } | 51 } |
55 | 56 |
56 pub fn new_v2<OnDisk>( | 57 pub fn new_v2<OnDisk>( |
57 on_disk: OnDisk, | 58 on_disk: OnDisk, |
58 data_size: usize, | 59 data_size: usize, |
59 metadata: &[u8], | 60 metadata: &[u8], |
61 uuid: Vec<u8>, | |
62 identity: Option<u64>, | |
60 ) -> Result<Self, DirstateError> | 63 ) -> Result<Self, DirstateError> |
61 where | 64 where |
62 OnDisk: Deref<Target = [u8]> + Send + 'static, | 65 OnDisk: Deref<Target = [u8]> + Send + 'static, |
63 { | 66 { |
64 let on_disk = Box::new(on_disk); | 67 let on_disk = Box::new(on_disk); |
65 | 68 |
66 OwningDirstateMapTryBuilder { | 69 OwningDirstateMapTryBuilder { |
67 on_disk, | 70 on_disk, |
68 map_builder: |bytes| { | 71 map_builder: |bytes| { |
69 DirstateMap::new_v2(bytes, data_size, metadata) | 72 DirstateMap::new_v2(bytes, data_size, metadata, uuid, identity) |
70 }, | 73 }, |
71 } | 74 } |
72 .try_build() | 75 .try_build() |
73 } | 76 } |
74 | 77 |
84 } | 87 } |
85 | 88 |
86 pub fn on_disk(&self) -> &[u8] { | 89 pub fn on_disk(&self) -> &[u8] { |
87 self.borrow_on_disk() | 90 self.borrow_on_disk() |
88 } | 91 } |
92 | |
93 pub fn old_uuid(&self) -> Option<&[u8]> { | |
94 self.get_map().old_uuid.as_deref() | |
95 } | |
96 | |
97 pub fn old_identity(&self) -> Option<u64> { | |
98 self.get_map().identity | |
99 } | |
100 | |
101 pub fn old_data_size(&self) -> usize { | |
102 self.get_map().old_data_size | |
103 } | |
89 } | 104 } |