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?
As stated in the FAQ: try running a cleanup.
Dry Run
box is checked - thanks! –
Isoleucine 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.
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.
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.
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.
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.
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.
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
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.
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.
Shell
, and at the same time, you can refresh the icons whenever you like by killing TSVNCache.exe
. –
Horatius 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.
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.
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.
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!
When it gets annoying, I just rename the root folder, then name it back as it was originally.
© 2022 - 2024 — McMap. All rights reserved.
svn cleanup "C:\myfolder"
it doesn't refresh anything sometimes, and when you use Tortoise clean up on context menu, it always works. :-/ – Trunnel