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 }