Mercurial > public > mercurial-scm > hg-stable
comparison rust/hg-core/src/dirstate_tree/dispatch.rs @ 47122:e3cebe96c0fc
dirstate-tree: Add "non normal" and "from other parent" sets
Unlike the other DirstateMap implementation, these sets are not materialized
separately in memory. Instead we traverse the main tree.
Differential Revision: https://phab.mercurial-scm.org/D10492
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Fri, 09 Apr 2021 13:13:19 +0200 |
parents | 5d62243c7732 |
children | 33e5511b571a |
comparison
equal
deleted
inserted
replaced
47121:7dfc598ddcfe | 47122:e3cebe96c0fc |
---|---|
43 | 43 |
44 fn clear_ambiguous_times(&mut self, filenames: Vec<HgPathBuf>, now: i32); | 44 fn clear_ambiguous_times(&mut self, filenames: Vec<HgPathBuf>, now: i32); |
45 | 45 |
46 fn non_normal_entries_contains(&mut self, key: &HgPath) -> bool; | 46 fn non_normal_entries_contains(&mut self, key: &HgPath) -> bool; |
47 | 47 |
48 fn non_normal_entries_remove(&mut self, key: &HgPath) -> bool; | 48 fn non_normal_entries_remove(&mut self, key: &HgPath); |
49 | 49 |
50 fn non_normal_or_other_parent_paths( | 50 fn non_normal_or_other_parent_paths( |
51 &mut self, | 51 &mut self, |
52 ) -> Box<dyn Iterator<Item = &HgPathBuf> + '_>; | 52 ) -> Box<dyn Iterator<Item = &HgPathBuf> + '_>; |
53 | 53 |
177 let (non_normal, _other_parent) = | 177 let (non_normal, _other_parent) = |
178 self.get_non_normal_other_parent_entries(); | 178 self.get_non_normal_other_parent_entries(); |
179 non_normal.contains(key) | 179 non_normal.contains(key) |
180 } | 180 } |
181 | 181 |
182 fn non_normal_entries_remove(&mut self, key: &HgPath) -> bool { | 182 fn non_normal_entries_remove(&mut self, key: &HgPath) { |
183 self.non_normal_entries_remove(key) | 183 self.non_normal_entries_remove(key) |
184 } | 184 } |
185 | 185 |
186 fn non_normal_or_other_parent_paths( | 186 fn non_normal_or_other_parent_paths( |
187 &mut self, | 187 &mut self, |