TortoiseGit status overlay causes Explorer to freeze under certain conditions
What steps will reproduce the problem?
- Pin some git repository folders to your quick access
- Navigate to a folder containing a large/complex git repository in explorer
- Open the right click context menu in the folder while tortoisegit is updating the icon overlays
What is the expected output? What do you see instead?
Under many circumstances, explorer hangs because tortoisegit needs to know the status of the repository to choose the appropriate context menu items to show, but it is stuck waiting for the status cache/overlay update. This can hang for multiple seconds. Explorer can also hang just while doing normal navigation.
What version of TortoiseGit and Git are you using? On what operating system?
TortoiseGit 22.214.171.124 (C:\Program Files\TortoiseGit\bin) git version 2.12.2.windows.2 (C:\Program Files\Git\bin; C:\Program Files\Git\mingw64; C:\Program Files\Git\mingw64\etc\gitconfig; C:\ProgramData\Git\config)
Windows 10 pro
Please provide any additional information below.
This is much worse if you have git repositories pinned in your explorer Quick Access or visible in the folder tree to the left, because the icon overlays appear there. Sometimes this scenario is so bad that explorer hangs indefinitely. I have a checkout of mono/mono from github on a SMB share (stored in a linux VM) and if I try to interact with it using tortoisegit I get 30+ second hangs because it's a slow repo to interact with in general.
In general having overlay icons enabled in TortoiseGit makes explorer dramatically slower for me in all scenarios - turning it off suddenly made everything feel snappy. This is probably due to git repos appearing in my Quick Access and directory tree on the left.