From 0ba40bdfb8b6200583a42793fa159161c4e73089 Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Wed, 30 Oct 2024 13:41:28 +0100 Subject: [PATCH] remote dev: Always upload binary in development mode (#19953) Release Notes: - N/A --- crates/remote/src/ssh_session.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/crates/remote/src/ssh_session.rs b/crates/remote/src/ssh_session.rs index ff6dfd7751..0f6c90de43 100644 --- a/crates/remote/src/ssh_session.rs +++ b/crates/remote/src/ssh_session.rs @@ -1736,13 +1736,19 @@ impl SshRemoteConnection { } } - if self.is_binary_in_use(dst_path).await? { - log::info!("server binary is opened by another process. not updating"); - delegate.set_status( - Some("Skipping update of remote development server, since it's still in use"), - cx, - ); - return Ok(()); + if cfg!(not(debug_assertions)) { + // When we're not in dev mode, we don't want to switch out the binary if it's + // still open. + // In dev mode, that's fine, since we often kill Zed processes with Ctrl-C and want + // to still replace the binary. + if self.is_binary_in_use(dst_path).await? { + log::info!("server binary is opened by another process. not updating"); + delegate.set_status( + Some("Skipping update of remote development server, since it's still in use"), + cx, + ); + return Ok(()); + } } let upload_binary_over_ssh = self.socket.connection_options.upload_binary_over_ssh;