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
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.
As stated in the FAQ: try running a cleanup.
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.
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.
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.
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.