diff --git a/rust/rhg/src/main.rs b/rust/rhg/src/main.rs --- a/rust/rhg/src/main.rs +++ b/rust/rhg/src/main.rs @@ -1,4 +1,5 @@ extern crate log; +use crate::error::CommandError; use crate::ui::Ui; use clap::App; use clap::AppSettings; @@ -20,7 +21,6 @@ pub mod utils { pub mod path_utils; } -use error::CommandError; fn main_with_result( process_start_time: &blackbox::ProcessStartTime, @@ -28,7 +28,7 @@ repo: Result<&Repo, &NoRepoInCwdError>, config: &Config, ) -> Result<(), CommandError> { - check_extensions(config)?; + check_unsupported(config)?; let app = App::new("rhg") .global_setting(AppSettings::AllowInvalidUtf8) @@ -608,11 +608,21 @@ if unsupported.is_empty() { Ok(()) } else { - Err(CommandError::UnsupportedFeature { - message: format_bytes!( - b"extensions: {} (consider adding them to 'rhg.ignored-extensions' config)", - join(unsupported, b", ") - ), - }) + Err(CommandError::UnsupportedFeature { message: format_bytes!( + b"extensions: {} (consider adding them to 'rhg.ignored-extensions' config)", + join(unsupported, b", ") + )}) } } + +fn check_unsupported(config: &Config) -> Result<(), CommandError> { + check_extensions(config)?; + + if std::env::var_os("HG_PENDING").is_some() { + // TODO: only if the value is `== repo.working_directory`? + // What about relative v.s. absolute paths? + Err(CommandError::unsupported("$HG_PENDING"))? + } + + Ok(()) +} diff --git a/tests/test-import.t b/tests/test-import.t --- a/tests/test-import.t +++ b/tests/test-import.t @@ -1,7 +1,3 @@ -TODO: fix rhg bugs that make this test fail when status is enabled - $ unset RHG_STATUS - - $ hg init a $ mkdir a/d1 $ mkdir a/d1/d2