diff -r 00222775d59b -r 478d0b1bf0c5 rust/hg-cpython/src/dirstate.rs --- a/rust/hg-cpython/src/dirstate.rs Tue Oct 15 21:26:56 2019 +0200 +++ b/rust/hg-cpython/src/dirstate.rs Tue Oct 08 08:45:55 2019 +0200 @@ -12,10 +12,13 @@ mod copymap; mod dirs_multiset; mod dirstate_map; -use crate::dirstate::{dirs_multiset::Dirs, dirstate_map::DirstateMap}; +mod status; +use crate::dirstate::{ + dirs_multiset::Dirs, dirstate_map::DirstateMap, status::status_wrapper, +}; use cpython::{ - exc, PyBytes, PyDict, PyErr, PyModule, PyObject, PyResult, PySequence, - Python, + exc, PyBytes, PyDict, PyErr, PyList, PyModule, PyObject, PyResult, + PySequence, Python, }; use hg::{ utils::hg_path::HgPathBuf, DirstateEntry, DirstateParseError, EntryState, @@ -105,6 +108,21 @@ m.add_class::(py)?; m.add_class::(py)?; + m.add( + py, + "status", + py_fn!( + py, + status_wrapper( + dmap: DirstateMap, + root_dir: PyObject, + files: PyList, + list_clean: bool, + last_normal_time: i64, + check_exec: bool + ) + ), + )?; let sys = PyModule::import(py, "sys")?; let sys_modules: PyDict = sys.get(py, "modules")?.extract(py)?;