rust-status: add trace-level logging for Rust status fallback for debugging
authorRaphaël Gomès <rgomes@octobus.net>
Wed, 18 Mar 2020 14:26:47 +0100
changeset 44572 245aec57d76a
parent 44571 6a8738dc4a01
child 44573 9f5e94bbc606
rust-status: add trace-level logging for Rust status fallback for debugging The added `log` crate is already a sub-dependency. Differential Revision: https://phab.mercurial-scm.org/D8300
rust/Cargo.lock
rust/hg-cpython/Cargo.toml
rust/hg-cpython/src/dirstate/status.rs
--- a/rust/Cargo.lock	Wed Mar 18 15:08:14 2020 -0400
+++ b/rust/Cargo.lock	Wed Mar 18 14:26:47 2020 +0100
@@ -253,6 +253,7 @@
  "cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "hg-core 0.1.0",
  "libc 0.2.67 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "simple_logger 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
--- a/rust/hg-cpython/Cargo.toml	Wed Mar 18 15:08:14 2020 -0400
+++ b/rust/hg-cpython/Cargo.toml	Wed Mar 18 14:26:47 2020 +0100
@@ -24,6 +24,7 @@
 [dependencies]
 hg-core = { path = "../hg-core"}
 libc = '*'
+log = "0.4.8"
 simple_logger = "1.6.0"
 
 [dependencies.cpython]
--- a/rust/hg-cpython/src/dirstate/status.rs	Wed Mar 18 15:08:14 2020 -0400
+++ b/rust/hg-cpython/src/dirstate/status.rs	Wed Mar 18 14:26:47 2020 +0100
@@ -84,7 +84,10 @@
 fn handle_fallback(py: Python, err: StatusError) -> PyErr {
     match err {
         StatusError::Pattern(e) => {
-            PyErr::new::<FallbackError, _>(py, e.to_string())
+            let as_string = e.to_string();
+            log::trace!("Rust status fallback: `{}`", &as_string);
+
+            PyErr::new::<FallbackError, _>(py, &as_string)
         }
         e => PyErr::new::<ValueError, _>(py, e.to_string()),
     }