rust/hg-cpython/src/dirstate.rs
changeset 43273 478d0b1bf0c5
parent 43213 0246bbe1045d
child 43456 ab9b0a20b9e6
--- 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::<Dirs>(py)?;
     m.add_class::<DirstateMap>(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)?;