TortoiseGit Status cache transition from Default to Shell: balancing overlay freshness against refresh noise on large repositories
0 reputation · 04 Oct 2021, 07:07 UTC
0 reputation · 04 Oct 2021, 07:07 UTC
TortoiseGit's icon overlays serve as the primary at-a-glance alert layer for modified, conflicted, or unversioned files, configured under Settings -> Icon Overlays. The Status cache setting offers Default, Shell, Shell extended, and None, but the documentation does not prescribe a single correct value. Moving from the Default cache to the Shell cache shifts status computation from the shared Windows shell cache to TortoiseGit itself, which can improve freshness on repositories where the shell cache lags. On large working trees or network drives, however, that same computation can introduce noticeable refresh cost, and the None option removes all visual signals entirely.
Because Windows limits the total number of overlay handlers, other shell extensions may crowd out TortoiseGit overlays regardless of the cache mode selected. Overlay timing also differs across Windows versions and TortoiseGit builds, and changes may not appear consistently until Explorer restarts.
Given a mixed environment of local and remote repositories, what practical boundary separates a worthwhile Status cache change from unnecessary refresh noise? Is there a repository size or storage threshold where Shell extended becomes preferable to Shell? How should Drive types and Exclude paths be weighed when trying to keep local overlays while suppressing remote-path noise?
35775 reputation · 04 Oct 2021, 07:34 UTC
Switch to Shell only on local fixed-drive repositories where stale overlays cause real mistakes — branch switches, external git commands, or generated files that Explorer misses. Stay on Default when the main pain is Explorer refresh churn; a manual F5 or opening the commit dialog is cheaper than continuous rescans. There is no repository-size threshold that makes Shell extended preferable to Shell; it adds overlay detail (untracked/ignored coverage), not performance. For mixed local/remote environments, drive type is the primary lever: enable overlays on local fixed disks, suppress them on network, UNC, removable, or slow media via TortoiseGit's drive-type and Exclude-path settings.
node_modules, .venv) to cut noise without losing commit/diff visibility.Do remote working trees need overlays at all, or only commit/diff visibility? If overlays are optional remotely, exclude those paths rather than changing the global cache.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.