Cargo.lock 🔗
@@ -1009,6 +1009,7 @@ dependencies = [
"smol",
"tempfile",
"util",
+ "which 6.0.3",
"workspace",
]
Peter Tripp created
Cargo.lock | 1 +
crates/auto_update/Cargo.toml | 1 +
crates/auto_update/src/auto_update.rs | 7 +++++++
3 files changed, 9 insertions(+)
@@ -1009,6 +1009,7 @@ dependencies = [
"smol",
"tempfile",
"util",
+ "which 6.0.3",
"workspace",
]
@@ -32,4 +32,5 @@ settings.workspace = true
smol.workspace = true
tempfile.workspace = true
util.workspace = true
+which.workspace = true
workspace.workspace = true
@@ -33,6 +33,7 @@ use std::{
};
use update_notification::UpdateNotification;
use util::ResultExt;
+use which::which;
use workspace::notifications::NotificationId;
use workspace::Workspace;
@@ -560,6 +561,12 @@ impl AutoUpdater {
"linux" => Ok("zed.tar.gz"),
_ => Err(anyhow!("not supported: {:?}", OS)),
}?;
+
+ anyhow::ensure!(
+ which("rsync").is_ok(),
+ "Aborting. Could not find rsync which is required for auto-updates."
+ );
+
let downloaded_asset = temp_dir.path().join(filename);
download_release(&downloaded_asset, release, client, &cx).await?;