官网FAQ里查到以下说明:“You may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications.……Locked is only loaded if there are less than 13 overlays already loaded. It falls back to Normal if there are not enough slots.”就是说Windows只放出11个空位给软件自定义的覆盖图标,如果空位不足,SVN就主动把自己的Locked图标撤掉了。
可以修改注册表中的HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers,通过把SVN的条目提前来保证可以显示。网上通行的对SVN图标不显示的解决方案都是这个,而且普遍认为其方法有效。查看我的注册表,果然包含同步工具Groove带来的多个图标,但提前SVN条目并不能解决我的问题。我猜想即使把SVN的条目提前,锁定图标也不会正常显示,只是大家很少用到锁定功能,只要看到对号、感叹号等图标能显示就认为正常了。干脆将Groove的条目全部删除,再重启explorer.exe,锁定可以正常显示了。
不能挨个机器去删注册表,卸载groove又很麻烦,于是搞了一个bat工具去批量删除注册表,例如“reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\Offline Files" /f”,美其名曰recover_svn_icon.bat,安装完TSVN之后运行此脚本就可以了。
转自http://blog.sina.com.cn/s/blog_4737b42c0100mi9x.html
TortoiseSVN无法显示lock图标的解决