diff -r b7fde9237c92 -r 5b9865032533 rust/rhg/src/main.rs --- a/rust/rhg/src/main.rs Tue Nov 09 19:55:46 2021 +0100 +++ b/rust/rhg/src/main.rs Tue Nov 09 17:09:40 2021 +0100 @@ -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) @@ -616,3 +616,15 @@ }) } } + +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(()) +}