equal
deleted
inserted
replaced
24 }; |
24 }; |
25 use hg::{ |
25 use hg::{ |
26 dirstate::StateMapIter, dirstate_tree::on_disk::DirstateV2ParseError, |
26 dirstate::StateMapIter, dirstate_tree::on_disk::DirstateV2ParseError, |
27 dirstate_tree::owning::OwningDirstateMap, revlog::Node, |
27 dirstate_tree::owning::OwningDirstateMap, revlog::Node, |
28 utils::files::normalize_case, utils::hg_path::HgPath, DirstateEntry, |
28 utils::files::normalize_case, utils::hg_path::HgPath, DirstateEntry, |
29 DirstateError, DirstateParents, EntryState, |
29 DirstateError, DirstateParents, |
30 }; |
30 }; |
31 |
31 |
32 // TODO |
32 // TODO |
33 // This object needs to share references to multiple members of its Rust |
33 // This object needs to share references to multiple members of its Rust |
34 // inner struct, namely `copy_map`, `dirs` and `all_dirs`. |
34 // inner struct, namely `copy_map`, `dirs` and `all_dirs`. |
267 |
267 |
268 def filefoldmapasdict(&self) -> PyResult<PyDict> { |
268 def filefoldmapasdict(&self) -> PyResult<PyDict> { |
269 let dict = PyDict::new(py); |
269 let dict = PyDict::new(py); |
270 for item in self.inner(py).borrow_mut().iter() { |
270 for item in self.inner(py).borrow_mut().iter() { |
271 let (path, entry) = item.map_err(|e| v2_error(py, e))?; |
271 let (path, entry) = item.map_err(|e| v2_error(py, e))?; |
272 if entry.state() != EntryState::Removed { |
272 if !entry.removed() { |
273 let key = normalize_case(path); |
273 let key = normalize_case(path); |
274 let value = path; |
274 let value = path; |
275 dict.set_item( |
275 dict.set_item( |
276 py, |
276 py, |
277 PyBytes::new(py, key.as_bytes()).into_object(), |
277 PyBytes::new(py, key.as_bytes()).into_object(), |