changeset 44839:01afda7e7d6c

rust-hg-cpython: update status bridge with the new `traversedir` support Differential Revision: https://phab.mercurial-scm.org/D8519
author Raphaël Gomès <rgomes@octobus.net>
date Tue, 12 May 2020 11:37:55 +0200
parents c802ec4f7196
children 4ba2a6ffcf24
files rust/hg-cpython/src/dirstate.rs rust/hg-cpython/src/dirstate/status.rs
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/rust/hg-cpython/src/dirstate.rs	Tue May 12 11:36:52 2020 +0200
+++ b/rust/hg-cpython/src/dirstate.rs	Tue May 12 11:37:55 2020 +0200
@@ -133,7 +133,8 @@
                 last_normal_time: i64,
                 list_clean: bool,
                 list_ignored: bool,
-                list_unknown: bool
+                list_unknown: bool,
+                collect_traversed_dirs: bool
             )
         ),
     )?;
--- a/rust/hg-cpython/src/dirstate/status.rs	Tue May 12 11:36:52 2020 +0200
+++ b/rust/hg-cpython/src/dirstate/status.rs	Tue May 12 11:37:55 2020 +0200
@@ -104,6 +104,7 @@
     list_clean: bool,
     list_ignored: bool,
     list_unknown: bool,
+    collect_traversed_dirs: bool,
 ) -> PyResult<PyTuple> {
     let bytes = root_dir.extract::<PyBytes>(py)?;
     let root_dir = get_path_from_bytes(bytes.data(py));
@@ -134,6 +135,7 @@
                     list_clean,
                     list_ignored,
                     list_unknown,
+                    collect_traversed_dirs,
                 },
             )
             .map_err(|e| handle_fallback(py, e))?;
@@ -170,6 +172,7 @@
                     list_clean,
                     list_ignored,
                     list_unknown,
+                    collect_traversed_dirs,
                 },
             )
             .map_err(|e| handle_fallback(py, e))?;
@@ -224,6 +227,7 @@
                     list_clean,
                     list_ignored,
                     list_unknown,
+                    collect_traversed_dirs,
                 },
             )
             .map_err(|e| handle_fallback(py, e))?;
@@ -256,6 +260,7 @@
     let unknown = collect_pybytes_list(py, status_res.unknown.as_ref());
     let lookup = collect_pybytes_list(py, lookup.as_ref());
     let bad = collect_bad_matches(py, status_res.bad.as_ref())?;
+    let traversed = collect_pybytes_list(py, status_res.traversed.as_ref());
     let py_warnings = PyList::new(py, &[]);
     for warning in warnings.iter() {
         // We use duck-typing on the Python side for dispatch, good enough for
@@ -292,6 +297,7 @@
             unknown.into_object(),
             py_warnings.into_object(),
             bad.into_object(),
+            traversed.into_object(),
         ][..],
     ))
 }