Patchwork D11943: rhg: Fall back to Python if verbose status is requested by config

login
register
mail settings
Submitter phabricator
Date Dec. 18, 2021, 10:47 a.m.
Message ID <differential-rev-PHID-DREV-acwiuiwrrwf3qshullsx-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/50269/
State New
Headers show

Comments

phabricator - Dec. 18, 2021, 10:47 a.m.
SimonSapin created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D11943

AFFECTED FILES
  rust/rhg/src/commands/status.rs
  rust/rhg/src/ui.rs
  tests/test-conflict.t

CHANGE DETAILS




To: SimonSapin, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-conflict.t b/tests/test-conflict.t
--- a/tests/test-conflict.t
+++ b/tests/test-conflict.t
@@ -1,7 +1,3 @@ 
-TODO: fix rhg bugs that make this test fail when status is enabled
-  $ unset RHG_STATUS
-
-
   $ hg init
   $ cat << EOF > a
   > Small Mathematical Series.
diff --git a/rust/rhg/src/ui.rs b/rust/rhg/src/ui.rs
--- a/rust/rhg/src/ui.rs
+++ b/rust/rhg/src/ui.rs
@@ -51,7 +51,7 @@ 
         stderr.flush().or_else(handle_stderr_error)
     }
 
-    /// is plain mode active
+    /// Return whether plain mode is active.
     ///
     /// Plain mode means that all configuration variables which affect
     /// the behavior and output of Mercurial should be
diff --git a/rust/rhg/src/commands/status.rs b/rust/rhg/src/commands/status.rs
--- a/rust/rhg/src/commands/status.rs
+++ b/rust/rhg/src/commands/status.rs
@@ -181,6 +181,17 @@ 
     let ui = invocation.ui;
     let config = invocation.config;
     let args = invocation.subcommand_args;
+
+    let verbose = !ui.plain()
+        && !args.is_present("print0")
+        && (config.get_bool(b"ui", b"verbose")?
+            || config.get_bool(b"commands", b"status.verbose")?);
+    if verbose {
+        return Err(CommandError::unsupported(
+            "verbose status is not supported yet",
+        ));
+    }
+
     let all = args.is_present("all");
     let display_states = if all {
         // TODO when implementing `--quiet`: it excludes clean files