proto: Fix cloned errors losing all context (#43393)

Release Notes:

- N/A *or* Added/Fixed/Improved ...
This commit is contained in:
Lukas Wirth
2025-11-24 13:13:20 +01:00
committed by David
parent 287eed624b
commit 4ed5fd1ecd
3 changed files with 6 additions and 4 deletions

View File

@@ -126,7 +126,7 @@ impl ErrorExt for anyhow::Error {
if let Some(rpc_error) = self.downcast_ref::<RpcError>() {
rpc_error.cloned()
} else {
anyhow::anyhow!("{self}")
anyhow::anyhow!("{self:#}")
}
}
}

View File

@@ -1327,7 +1327,7 @@ fn build_command(
let working_dir = RemotePathBuf::new(working_dir, ssh_path_style).to_string();
// shlex will wrap the command in single quotes (''), disabling ~ expansion,
// replace with with something that works
// replace with something that works
const TILDE_PREFIX: &'static str = "~/";
if working_dir.starts_with(TILDE_PREFIX) {
let working_dir = working_dir.trim_start_matches("~").trim_start_matches("/");

View File

@@ -251,11 +251,13 @@ impl WslRemoteConnection {
let mkdir = self.shell_kind.prepend_command_prefix("mkdir");
self.run_wsl_command(&mkdir, &["-p", &parent])
.await
.map_err(|e| anyhow!("Failed to create directory when uploading file: {}", e))?;
.context("Failed to create directory when uploading file")?;
}
let t0 = Instant::now();
let src_stat = fs::metadata(&src_path).await?;
let src_stat = fs::metadata(&src_path)
.await
.with_context(|| format!("source path does not exist: {}", src_path.display()))?;
let size = src_stat.len();
log::info!(
"uploading remote server to WSL {:?} ({}kb)",