worktree: Make expanded symlinks be indexed by default (#51382)

Closes #41887

This is a stable subset of other efforts to make symlink flows more
intuitive like #46344

Release Notes:

- Fixed expanded symlinks not being searchable
This commit is contained in:
Andre Roelofs authored and GitHub committed 2026-03-31 19:33:37 +00:00
1 parent 877c2e1b0a
commit 55cf7c882a
1 file changed
+3 -5
+3 -5
View File
@@ -2776,7 +2776,7 @@ impl LocalSnapshot {
for entry in self.entries_by_path.cursor::<()>(()) {
if entry.is_file() {
assert_eq!(files.next().unwrap().inode, entry.inode);
if (!entry.is_ignored && !entry.is_external) || entry.is_always_included {
if !entry.is_ignored || entry.is_always_included {
assert_eq!(visible_files.next().unwrap().inode, entry.inode);
}
}
@@ -3455,8 +3455,7 @@ pub struct Entry {
/// symlink.
///
/// We only scan entries outside of the worktree once the symlinked
/// directory is expanded. External entries are treated like gitignored
/// entries in that they are not included in searches.
/// directory is expanded.
pub is_external: bool,
/// Whether this entry is considered to be a `.env` file.
@@ -3661,8 +3660,7 @@ impl sum_tree::Item for Entry {
type Summary = EntrySummary;
fn summary(&self, _cx: ()) -> Self::Summary {
let non_ignored_count = if (self.is_ignored || self.is_external) && !self.is_always_included
{
let non_ignored_count = if self.is_ignored && !self.is_always_included {
0
} else {
1