diff --git a/src/cloud.rs b/src/cloud.rs index 131c93d..9fdd5b2 100644 --- a/src/cloud.rs +++ b/src/cloud.rs @@ -105,7 +105,11 @@ async fn creates_worktrees_for_instance( async fn remove_worktrees_for_instance(config: &HazeConfig, id: &str) -> Result<()> { let worktree_dir = config.worktree_dir.join(id); - remove_worktree(&worktree_dir)?; + if !worktree_dir.exists() { + return Ok(()); + } + + remove_worktree(&worktree_dir).wrap_err("Failed to remove worktree for server")?; for app_dir in &config.app_directories { let Some(dir_name) = app_dir.file_name() else { @@ -115,7 +119,8 @@ async fn remove_worktrees_for_instance(config: &HazeConfig, id: &str) -> Result< continue; }; for app_worktree in app_worktrees.flatten() { - remove_worktree(app_worktree.path())?; + remove_worktree(app_worktree.path()) + .wrap_err_with(|| format!("Failed to remove worktree for {dir_name}"))?; } }