diff --git a/crates/project/src/worktree_store.rs b/crates/project/src/worktree_store.rs index 9f25572fc7ec0..4b1764c3a87fa 100644 --- a/crates/project/src/worktree_store.rs +++ b/crates/project/src/worktree_store.rs @@ -221,10 +221,11 @@ impl WorktreeStore { ) -> Task, Arc>> { 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() diff --git a/crates/recent_projects/src/ssh_connections.rs b/crates/recent_projects/src/ssh_connections.rs index ad23a5c8963b4..1722c58f07539 100644 --- a/crates/recent_projects/src/ssh_connections.rs +++ b/crates/recent_projects/src/ssh_connections.rs @@ -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)) }