Mercurial > public > mercurial-scm > hg-stable
diff rust/rhg/src/commands/status.rs @ 48506:0c408831b2f1
rhg: Print "bad match" errors in rhg status
Previously these would only be visible if enabled with some RUST_LOG
environment variable.
Differential Revision: https://phab.mercurial-scm.org/D11908
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 13 Dec 2021 14:37:16 +0100 |
parents | 473af5cbc209 |
children | b005d07ded7d |
line wrap: on
line diff
--- a/rust/rhg/src/commands/status.rs Tue Dec 07 15:14:08 2021 +0100 +++ b/rust/rhg/src/commands/status.rs Mon Dec 13 14:37:16 2021 +0100 @@ -237,8 +237,20 @@ warn!("Pattern warnings: {:?}", &pattern_warnings); } - if !ds_status.bad.is_empty() { - warn!("Bad matches {:?}", &(ds_status.bad)) + for (path, error) in ds_status.bad { + let error = match error { + hg::BadMatch::OsError(code) => { + std::io::Error::from_raw_os_error(code).to_string() + } + hg::BadMatch::BadType(ty) => { + format!("unsupported file type (type is {})", ty) + } + }; + ui.write_stderr(&format_bytes!( + b"{}: {}\n", + path.as_bytes(), + error.as_bytes() + ))? } if !ds_status.unsure.is_empty() { info!(