rust/hg-cpython/src/dirstate/dirstate_map.rs
changeset 48044 d5528ac9b4f2
parent 48024 cedfe2606adf
child 48045 32ef647821b2
equal deleted inserted replaced
48043:3e69bef2031a 48044:d5528ac9b4f2
    17     UnsafePyLeaked,
    17     UnsafePyLeaked,
    18 };
    18 };
    19 
    19 
    20 use crate::{
    20 use crate::{
    21     dirstate::copymap::{CopyMap, CopyMapItemsIterator, CopyMapKeysIterator},
    21     dirstate::copymap::{CopyMap, CopyMapItemsIterator, CopyMapKeysIterator},
    22     dirstate::make_dirstate_item,
    22     dirstate::item::DirstateItem,
    23     dirstate::non_normal_entries::{
    23     dirstate::non_normal_entries::{
    24         NonNormalEntries, NonNormalEntriesIterator,
    24         NonNormalEntries, NonNormalEntriesIterator,
    25     },
    25     },
    26     pybytes_deref::PyBytesDeref,
    26     pybytes_deref::PyBytesDeref,
    27 };
    27 };
   121             .borrow()
   121             .borrow()
   122             .get(HgPath::new(key.data(py)))
   122             .get(HgPath::new(key.data(py)))
   123             .map_err(|e| v2_error(py, e))?
   123             .map_err(|e| v2_error(py, e))?
   124         {
   124         {
   125             Some(entry) => {
   125             Some(entry) => {
   126                 Ok(Some(make_dirstate_item(py, &entry)?))
   126                 Ok(Some(DirstateItem::new_as_pyobject(py, entry)?))
   127             },
   127             },
   128             None => Ok(default)
   128             None => Ok(default)
   129         }
   129         }
   130     }
   130     }
   131 
   131 
   448             .borrow()
   448             .borrow()
   449             .get(key)
   449             .get(key)
   450             .map_err(|e| v2_error(py, e))?
   450             .map_err(|e| v2_error(py, e))?
   451         {
   451         {
   452             Some(entry) => {
   452             Some(entry) => {
   453                 Ok(make_dirstate_item(py, &entry)?)
   453                 Ok(DirstateItem::new_as_pyobject(py, entry)?)
   454             },
   454             },
   455             None => Err(PyErr::new::<exc::KeyError, _>(
   455             None => Err(PyErr::new::<exc::KeyError, _>(
   456                 py,
   456                 py,
   457                 String::from_utf8_lossy(key.as_bytes()),
   457                 String::from_utf8_lossy(key.as_bytes()),
   458             )),
   458             )),
   637         res: Result<(&HgPath, DirstateEntry), DirstateV2ParseError>,
   637         res: Result<(&HgPath, DirstateEntry), DirstateV2ParseError>,
   638     ) -> PyResult<Option<(PyBytes, PyObject)>> {
   638     ) -> PyResult<Option<(PyBytes, PyObject)>> {
   639         let (f, entry) = res.map_err(|e| v2_error(py, e))?;
   639         let (f, entry) = res.map_err(|e| v2_error(py, e))?;
   640         Ok(Some((
   640         Ok(Some((
   641             PyBytes::new(py, f.as_bytes()),
   641             PyBytes::new(py, f.as_bytes()),
   642             make_dirstate_item(py, &entry)?,
   642             DirstateItem::new_as_pyobject(py, entry)?,
   643         )))
   643         )))
   644     }
   644     }
   645 }
   645 }
   646 
   646 
   647 py_shared_iterator!(
   647 py_shared_iterator!(