fsmonitor: force index write after full scan
PATCH 1/1 fsmonitor: force index write after full scan
fsmonitor currently only flags the index as dirty if the extension is being added or removed. This is a performance optimization that recognizes you can stat() a lot of files in less time than it takes to write out an updated index.
This patch makes a small enhancement and flags the index dirty if we end up having to stat() all files and scan the entire working directory. The assumption being that must be expensive or you would not have turned on the feature.
Signed-off-by Ben Peart <[email protected]>
---
Notes:
Base Ref:
Web-Diff: https://github.com/benpeart/git/commit/4d39ddc2f9
Checkout: git fetch https://github.com/benpeart/git fsmonitor-perf-v1 && git checkout 4d39ddc2f9fsmonitor.c | 3 +++ 1 file changed, 3 insertions(+)
fsmonitor.c +3 -0
@@ -185,6 +185,9 @@ void refresh_fsmonitor(struct index_state *istate)for (i =0 ; i < istate->cache_nr; i++) istate->cache[i]->ce_flags &= ~CE_FSMONITOR_VALID ; +/* If we're going to check every file, ensure we save the results */ + istate->cache_changed |=FSMONITOR_CHANGED ; +if (istate->untracked) istate->untracked->use_fsmonitor =0 ; }
base-commit: 0ac4dfac5000ef8de7966a3b7229275567d2d707
Signature · 1 line
2.17.0.windows.1