Mercurial > hg
comparison rust/hg-cpython/src/dirstate/dirstate_map.rs @ 49124:d9a66d62c604
rust-dirstatemap: use `&HgPath` instead of `HgPathBuf` in `copy_map_insert`
No reason to require an owned path here.
Differential Revision: https://phab.mercurial-scm.org/D12522
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Wed, 30 Mar 2022 11:39:53 +0200 |
parents | 861dd252e2dc |
children | a1fce5003ff4 |
comparison
equal
deleted
inserted
replaced
49123:afe60def963d | 49124:d9a66d62c604 |
---|---|
21 dirstate::copymap::{CopyMap, CopyMapItemsIterator, CopyMapKeysIterator}, | 21 dirstate::copymap::{CopyMap, CopyMapItemsIterator, CopyMapKeysIterator}, |
22 dirstate::item::DirstateItem, | 22 dirstate::item::DirstateItem, |
23 pybytes_deref::PyBytesDeref, | 23 pybytes_deref::PyBytesDeref, |
24 }; | 24 }; |
25 use hg::{ | 25 use hg::{ |
26 dirstate::StateMapIter, | 26 dirstate::StateMapIter, dirstate_tree::on_disk::DirstateV2ParseError, |
27 dirstate_tree::on_disk::DirstateV2ParseError, | 27 dirstate_tree::owning::OwningDirstateMap, revlog::Node, |
28 dirstate_tree::owning::OwningDirstateMap, | 28 utils::files::normalize_case, utils::hg_path::HgPath, DirstateEntry, |
29 revlog::Node, | 29 DirstateError, DirstateParents, EntryState, |
30 utils::files::normalize_case, | |
31 utils::hg_path::{HgPath, HgPathBuf}, | |
32 DirstateEntry, DirstateError, DirstateParents, EntryState, | |
33 }; | 30 }; |
34 | 31 |
35 // TODO | 32 // TODO |
36 // 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 |
37 // inner struct, namely `copy_map`, `dirs` and `all_dirs`. | 34 // inner struct, namely `copy_map`, `dirs` and `all_dirs`. |
409 let key = key.extract::<PyBytes>(py)?; | 406 let key = key.extract::<PyBytes>(py)?; |
410 let value = value.extract::<PyBytes>(py)?; | 407 let value = value.extract::<PyBytes>(py)?; |
411 self.inner(py) | 408 self.inner(py) |
412 .borrow_mut() | 409 .borrow_mut() |
413 .copy_map_insert( | 410 .copy_map_insert( |
414 HgPathBuf::from_bytes(key.data(py)), | 411 HgPath::new(key.data(py)), |
415 HgPathBuf::from_bytes(value.data(py)), | 412 HgPath::new(value.data(py)), |
416 ) | 413 ) |
417 .map_err(|e| v2_error(py, e))?; | 414 .map_err(|e| v2_error(py, e))?; |
418 Ok(py.None()) | 415 Ok(py.None()) |
419 } | 416 } |
420 def copymappop( | 417 def copymappop( |