diff --git a/crates/git/src/git.rs b/crates/git/src/git.rs index d26409a007c0b83925c997adbe76cf2a91303426..97735bd174dfd9b88b1d8c742fad06296fb7ea2e 100644 --- a/crates/git/src/git.rs +++ b/crates/git/src/git.rs @@ -26,6 +26,7 @@ pub static DOT_GIT: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new(".git pub static GITIGNORE: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new(".gitignore")); pub static FSMONITOR_DAEMON: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new("fsmonitor--daemon")); +pub static LFS_DIR: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new("lfs")); pub static COMMIT_MESSAGE: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new("COMMIT_EDITMSG")); pub static INDEX_LOCK: LazyLock<&'static OsStr> = LazyLock::new(|| OsStr::new("index.lock")); diff --git a/crates/worktree/src/worktree.rs b/crates/worktree/src/worktree.rs index d3614cfb649e414437d1a770e481978550c7bef2..67a6727a736b4778acbac454400a5ec70b04e3b3 100644 --- a/crates/worktree/src/worktree.rs +++ b/crates/worktree/src/worktree.rs @@ -25,6 +25,7 @@ use git::{ FileStatus, GitSummary, StatusCode, TrackedStatus, UnmergedStatus, UnmergedStatusCode, }, GitHostingProviderRegistry, COMMIT_MESSAGE, DOT_GIT, FSMONITOR_DAEMON, GITIGNORE, INDEX_LOCK, + LFS_DIR, }; use gpui::{ App, AppContext as _, AsyncApp, BackgroundExecutor, Context, Entity, EventEmitter, Task, @@ -4513,7 +4514,7 @@ impl BackgroundScanner { // Certain directories may have FS changes, but do not lead to git data changes that Zed cares about. // Ignore these, to avoid Zed unnecessarily rescanning git metadata. let skipped_files_in_dot_git = HashSet::from_iter([*COMMIT_MESSAGE, *INDEX_LOCK]); - let skipped_dirs_in_dot_git = [*FSMONITOR_DAEMON]; + let skipped_dirs_in_dot_git = [*FSMONITOR_DAEMON, *LFS_DIR]; let mut relative_paths = Vec::with_capacity(abs_paths.len()); let mut dot_git_abs_paths = Vec::new();