ssh remoting: Expand tilde on host side (#18333)
This commit is contained in:
parent
4e2ae06ca6
commit
ccc871c44c
2 changed files with 11 additions and 3 deletions
|
@ -221,10 +221,11 @@ impl WorktreeStore {
|
|||
) -> Task<Result<Model<Worktree>, Arc<anyhow::Error>>> {
|
||||
let mut abs_path = abs_path.as_ref().to_string_lossy().to_string();
|
||||
// If we start with `/~` that means the ssh path was something like `ssh://user@host/~/home-dir-folder/`
|
||||
// in which case want to strip the leading the `/` and expand the tilde.
|
||||
// in which case want to strip the leading the `/`.
|
||||
// On the host-side, the `~` will get expanded.
|
||||
// That's what git does too: https://github.com/libgit2/libgit2/issues/3345#issuecomment-127050850
|
||||
if abs_path.starts_with("/~") {
|
||||
abs_path = shellexpand::tilde(&abs_path[1..]).to_string();
|
||||
abs_path = abs_path[1..].to_string();
|
||||
}
|
||||
let root_name = PathBuf::from(abs_path.clone())
|
||||
.file_name()
|
||||
|
|
|
@ -327,7 +327,14 @@ impl SshClientDelegate {
|
|||
cx,
|
||||
)
|
||||
.await
|
||||
.map_err(|e| anyhow::anyhow!("failed to download remote server binary: {}", e))?;
|
||||
.map_err(|e| {
|
||||
anyhow::anyhow!(
|
||||
"failed to download remote server binary (os: {}, arch: {}): {}",
|
||||
platform.os,
|
||||
platform.arch,
|
||||
e
|
||||
)
|
||||
})?;
|
||||
|
||||
Ok((binary_path, version))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue