rust/hg-cpython/src/parsers.rs
changeset 47539 84391ddf4c78
parent 47351 3b9914b28133
equal deleted inserted replaced
47538:77fce401a2bb 47539:84391ddf4c78
    18     utils::hg_path::HgPathBuf, DirstateEntry, DirstateParents, FastHashMap,
    18     utils::hg_path::HgPathBuf, DirstateEntry, DirstateParents, FastHashMap,
    19     PARENT_SIZE,
    19     PARENT_SIZE,
    20 };
    20 };
    21 use std::convert::TryInto;
    21 use std::convert::TryInto;
    22 
    22 
    23 use crate::dirstate::{extract_dirstate, make_dirstate_tuple};
    23 use crate::dirstate::{extract_dirstate, make_dirstate_item};
    24 
    24 
    25 fn parse_dirstate_wrapper(
    25 fn parse_dirstate_wrapper(
    26     py: Python,
    26     py: Python,
    27     dmap: PyDict,
    27     dmap: PyDict,
    28     copymap: PyDict,
    28     copymap: PyDict,
    41 
    41 
    42             for (filename, entry) in &dirstate_map {
    42             for (filename, entry) in &dirstate_map {
    43                 dmap.set_item(
    43                 dmap.set_item(
    44                     py,
    44                     py,
    45                     PyBytes::new(py, filename.as_bytes()),
    45                     PyBytes::new(py, filename.as_bytes()),
    46                     make_dirstate_tuple(py, entry)?,
    46                     make_dirstate_item(py, entry)?,
    47                 )?;
    47                 )?;
    48             }
    48             }
    49             for (path, copy_path) in copy_map {
    49             for (path, copy_path) in copy_map {
    50                 copymap.set_item(
    50                 copymap.set_item(
    51                     py,
    51                     py,
   103         Ok(packed) => {
   103         Ok(packed) => {
   104             for (filename, entry) in dirstate_map.iter() {
   104             for (filename, entry) in dirstate_map.iter() {
   105                 dmap.set_item(
   105                 dmap.set_item(
   106                     py,
   106                     py,
   107                     PyBytes::new(py, filename.as_bytes()),
   107                     PyBytes::new(py, filename.as_bytes()),
   108                     make_dirstate_tuple(py, &entry)?,
   108                     make_dirstate_item(py, &entry)?,
   109                 )?;
   109                 )?;
   110             }
   110             }
   111             Ok(PyBytes::new(py, &packed))
   111             Ok(PyBytes::new(py, &packed))
   112         }
   112         }
   113         Err(error) => {
   113         Err(error) => {