Mercurial > public > mercurial-scm > hg
diff rust/rhg/src/commands/root.rs @ 46740:97ac588b6d9e
rhg: Don?t make repository path absolute too early
Some error messages want to include a relative path,
which affects the output of some tests.
Differential Revision: https://phab.mercurial-scm.org/D10138
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 08 Mar 2021 08:35:43 +0100 |
parents | 5ce2aa7c2ad5 |
children | 37bc3edef76f |
line wrap: on
line diff
--- a/rust/rhg/src/commands/root.rs Fri Mar 05 13:28:49 2021 +0100 +++ b/rust/rhg/src/commands/root.rs Mon Mar 08 08:35:43 2021 +0100 @@ -1,5 +1,6 @@ use crate::error::CommandError; use format_bytes::format_bytes; +use hg::errors::{IoErrorContext, IoResultExt}; use hg::utils::files::get_bytes_from_path; pub const HELP_TEXT: &str = " @@ -14,7 +15,12 @@ pub fn run(invocation: &crate::CliInvocation) -> Result<(), CommandError> { let repo = invocation.repo?; - let bytes = get_bytes_from_path(repo.working_directory_path()); + let working_directory = repo.working_directory_path(); + let working_directory = std::fs::canonicalize(working_directory) + .with_context(|| { + IoErrorContext::CanonicalizingPath(working_directory.to_owned()) + })?; + let bytes = get_bytes_from_path(&working_directory); invocation .ui .write_stdout(&format_bytes!(b"{}\n", bytes.as_slice()))?;