问题
My problem:
Subclipse does not update locked status overlay icons in eclipse after I lock/unlock some files with TortoiseSVN in windows explorer (and vice versa).
Is this expected behaviour or am I missing a setting?
The files have the svn property "svn:needs-lock" set.
I can sync Subclipse again by first clicking "Team - Refresh/Cleanup" and then "Refresh F5".
I am not a 100% sure but I think with Subclipse 1.6.x and TortoiseSVN 1.6.x I was able to just hit F5 in eclipse, and the status was refreshed correctly.
Thank you for your time.
回答1:
I do not think you should have to do the second F5, but we added the Team > Refresh/Cleanup option for this reason.
With pre-SVN 1.7.x releases any change in the working copy caused files in all of the hidden .svn folders to be modified. When you hit F5 in Eclipse, it would see these changed files and fire off notifications that Subclipse would see and use that to refresh decorations.
With SVN 1.7, all this information is consolidated in a single location, and it sounds like it probably does not even live inside your Eclipse project folder. So F5 in Eclipse effectively does nothing because no files on the filesystem that Eclipse can see has been modified. Eclipse does not send out any notifications.
The Team > Refresh/Cleanup option calls the same Eclipse action as F5, but it also triggers an explicit refresh of SVN cached information regardless of whether Eclipse sees any changes.
回答2:
Just to explain in more detail how to create the keyboard shortcut:
I was once pretty desperate to get this keyboard binding to work and after a lot of head banging found out that I also had to enable the "SVN Command Group" in my eclipse perspective (as explained here: SVN key bindings not working in Eclipse):
回答3:
You can bind the F5 key to the "Cleanup/refresh" option of the SVN menu.
First,you must go to Window dropdown menu > Customize Perspective > Command Groups Availability and there check the SVN box.
With this option you will get a dropdown menu called SVN with all the relevant commands.
Then you go to Settings > General > Keys :
- unbind the F5 key if you want to use this key
- bind the command
%CleanupAction.label
to F5 or any key you may find useful (like Shift+F5 if you don't want the F5 key to be unbind.)
来源:https://stackoverflow.com/questions/9636409/subclipse-1-8-5-requires-cleanup-refresh-cycle-to-detect-changes-made-with-t