Properly propagate git statuses in the outline panel (#13150)

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>
This commit is contained in:
Kirill Bulatov 2024-06-17 19:06:35 +03:00 committed by GitHub
parent 2e87e1d26e
commit d6d56191da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1769,8 +1769,10 @@ impl OutlinePanel {
.into_iter()
.map(|(worktree_id, (worktree_snapshot, entries))| {
let mut entries = entries.into_iter().collect::<Vec<_>>();
project::sort_worktree_entries(&mut entries);
// For a proper git status propagation, we have to keep the entries sorted lexicographically.
entries.sort_by(|a, b| a.path.as_ref().cmp(b.path.as_ref()));
worktree_snapshot.propagate_git_statuses(&mut entries);
project::sort_worktree_entries(&mut entries);
(worktree_id, entries)
})
.flat_map(|(worktree_id, entries)| {