diff --git a/crates/project/src/worktree.rs b/crates/project/src/worktree.rs index b391ff829ca10a489216903b87384e732495161e..c1f51783993ede8b8d21cf15284e189a04b3c5b6 100644 --- a/crates/project/src/worktree.rs +++ b/crates/project/src/worktree.rs @@ -3086,7 +3086,7 @@ impl BackgroundScanner { } let git_ptr = local_repo.repo_ptr.lock(); - git_ptr.worktree_status(&repo_path)? + git_ptr.worktree_status(&repo_path) }; let work_dir = repo.work_directory(snapshot)?; @@ -3097,7 +3097,11 @@ impl BackgroundScanner { .update(&work_dir_id, |entry| entry.scan_id = scan_id); snapshot.repository_entries.update(&work_dir, |entry| { - entry.worktree_statuses.insert(repo_path, status) + if let Some(status) = status { + entry.worktree_statuses.insert(repo_path, status); + } else { + entry.worktree_statuses.remove(&repo_path); + } }); }