Windows Explorer icons in TortoiseSVN take a long time to refresh to correct state

WindowsTortoisesvn

Windows Problem Overview


After I commit files, the icons stay on either modified or waiting for commit for a long time. Is there any way to force a refresh to ensure that the icon that I am seeing is the correct state of the file?

Windows Solutions


Solution 1 - Windows

As stated in the FAQ: try running a cleanup.

Solution 2 - Windows

You can try this:

TortoiseSVN -> Settings -> Icon Overlay, set Status Cache to 'Shell' instead of 'Default'

Ref. to the Help.

> Shell Caching is done directly inside the shell extension DLL file, but only for the currently visible folder. Each time you navigate to another folder, the status information is fetched again.

>Advantage: needs only very little memory (around 1 MB of RAM) and can show the status in real time.

>Disadvantage: Since only one folder is cached, the overlays don't show the status recursively. For big working copies, it can take more time to show a folder in explorer than with the default cache. Also the mime-type column is not available.

Solution 3 - Windows

I posted a similar answer here but to save you the trouble of opening the link I will quote it here:

> I'm not sure if this is exactly > related to your issue but I have found > TortoiseSVN can sometimes be quite > slow when dealing with repositories > that have a lot of files in them. This > manifests itself in the tsvncache.exe > process taking up a lot of memory. The > tsvncache.exe process scans files and > folders and associates the familiar > icons with them to denote > changed/ignored etc. files. > > A fix for this is to tell Tortoise SVN > to only cache the folders you are > working in and ignore the others. To > do this, right-click your project > folder and select > TortoiseSVN->Settings->Icon Overlays. > I have Exclude paths set to c:* and > d:* (basically ignore all fixed > drives) and Include paths set to my > projects folder.

Solution 4 - Windows

Stumbled upon this issue recently. Found a short and dirty workaround that has proven to be 100% effective.

Create an empty text file in the folder you wish for the icons to refresh in by right clicking and selecting "New" --> "Text Document". The icons should magically refresh. Delete the empty text file after of course.

Solution 5 - Windows

Closing the Windows Explorer window and reopening helps. Most often the icon stays at the tree part of Windows Explorer.

And no - Clean Up and F5 doesn't help. I guess it has something to do with Explorer and not TortoiseSVN.

Solution 6 - Windows

If you want to check if you comitted everything, there is the "svn check for modifications" menu option. If you press F5 there it will update and show you the truth. If it annoys you that the folder icons are out of date, you can turn the icons off.

Solution 7 - Windows

I don't know if it's related but hitting F5 seems to help... sometimes.

My experience with TortoiseSVN is that the performance is somehow directly linked to the number of checked out directories. You can set the directories that must be included/excluded in some TortoiseSVN properties to speed up the process.

Solution 8 - Windows

Go to the directory under which you want the icons to be updated. Right click on that directory with your mouse and in the SVN context explorer menu select 'cleanup' and then press F5. It should refresh all SVN icons under that directory for you. It did for me.

I work on a huge project with thousands of files and a SVN 'cleanup' is very fast on my computer so I do it at the root level for the most part, thus refreshing all icons. For slower computers without much memory a full cleanup for a big project might take a while. In that case you can refresh just the directory you need.

Someone says above that a 'cleanup' will revert your local changes but that is not necessarily true. It does not revert for me... Furthermore, I do not think it's an option you should enable. Sometimes your local SVN caches get corrupted and a cleanup will fix them for you... that being often a necessity in order to do your commits, etc...

Hope it helps.

PS. My tortoise SVN version is: TortoiseSVN 1.6.16, Build 21511 - 64 Bit

Solution 9 - Windows

Windows' "refresh" (F5) mostly works for me (OK, I press it obsessively, too), but sometimes a window doesn't have any icon overlays at all. In these cases, "Cleanup" doesn't help either, no matter which options I choose, including "Refresh Shell Overlays".

I followed the tip from gekowa:

TortoiseSVN -> Settings -> Icon Overlay, set Status Cache to 'Shell' instead of 'Default'

and the next time I opened the window, the overlays were correct. It took a few seconds for the window to open, but everything was right after that. The I set the Status Cache back to "Shell" and the time lag went away, too.

Previously, I had set the Status Cache to "None", but that didn't help.

Solution 10 - Windows

I had a similar problem. I'v created a new branch and afterwards checked out to a new working copy. The new working copy didn't have the icon overlays as it should. Nothing showed up. Only after killing the TSVNCache.exe process via the Windows task manager, did the icons appear correctly.

Solution 11 - Windows

F5 did not work for me either, but I found one F5 method that worked.

Say you have a folder called projects and in there is a folder called mysubversionedproject. If you expand the explorer tree, you will see

  • projects
  • mysubversionedproject

If you now press F5 it might not work, as many have noticed.

But, if you close this tree so that you only see

  • projects

(and made sure that you also clicked on projects so that it is actually selected)
and press F5 and then expand the tree again, then it might work.

For me, mysubversionedproject now has the overlayed icon, as it should.

Solution 12 - Windows

> A fix for this is to tell Tortoise SVN to only cache the folders you > are working in and ignore the others. To do this, right-click your > project folder and select TortoiseSVN->Settings->Icon Overlays. I have > Exclude paths set to c:* and d:* (basically ignore all fixed drives) > and Include paths set to my projects folder.

I did essentially the same thing as Malice did, but I unchecked the fixed drives and added C:\Users\YOURNAMEHERE\Documents* to the include directory. Works very well for me as all my projects are under this folder.

Solution 13 - Windows

Building upon noodle7's answer: another option is to change:

TortoiseSVN -> Settings -> Icon Overlay, set Status Cache to 'Default' instead of 'Shell'

This worked for me. TortoiseSVN 1.9.

Solution 14 - Windows

So... of all these answers/tricks/solutions, honestly all you have to do is switch to another pre-existing branch using the dropdown - right click > Git Branch, then switch back to the branch you were working on in order to see the status icons updated. Voila!

Solution 15 - Windows

When it gets annoying, I just rename the root folder, then name it back as it was originally.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionleoraView Question on Stackoverflow
Solution 1 - WindowsStefanView Answer on Stackoverflow
Solution 2 - WindowsgekowaView Answer on Stackoverflow
Solution 3 - WindowsMaliceView Answer on Stackoverflow
Solution 4 - WindowsDudeView Answer on Stackoverflow
Solution 5 - WindowsPavel PunskyView Answer on Stackoverflow
Solution 6 - Windowsuser180326View Answer on Stackoverflow
Solution 7 - WindowsVladimirView Answer on Stackoverflow
Solution 8 - WindowsGreat_MikeView Answer on Stackoverflow
Solution 9 - Windowsnoodle7View Answer on Stackoverflow
Solution 10 - WindowsnotiView Answer on Stackoverflow
Solution 11 - WindowsMagnusView Answer on Stackoverflow
Solution 12 - WindowsMark WheelerView Answer on Stackoverflow
Solution 13 - WindowsFranc DrobničView Answer on Stackoverflow
Solution 14 - WindowsKrunchy RamenView Answer on Stackoverflow
Solution 15 - WindowsmBardosView Answer on Stackoverflow