【SVN】tortoiseSVN使用中图标状态同步缓慢的问题解决

在使用SVN工作的时候我遇到了这样一个问题,刚刚更新的SVN,可是在目录下缺依然显示有差异的图标。这是由于tortoiseSVN图标的更新机制导致的。

查阅资料后,了解到可以在Settings的Icon overlays进行修改配置。
具体是修改Status cache为Shell.
总结为:

  1. 如果想要实时更新文件状态就选择Shell;
  2. 如果更注重电脑性能就选择Default;
  3. 如果不想显示文件夹状态则选择None。

默认 (Default)

  • 把所有状态信息缓存在一个独立进程中(TSVNCache.exe)。该进程监视所有驱动器的更改,并在工作副本中的文件被修改时重新获取其状态。该进程以最低优先级运行,所以其他程序不会被它挤兑。这同样意味着状态信息并不是 实时 的,因为它需要几秒钟时间处理图标覆盖的变化。
    优点: 图标覆盖递归地显示状态,就是说,如果一个处在工作副本深处的文件被修改了,所有途径的文件夹包括工作副本的根目录都会显示出修改的图标覆盖。也因为该进程可以向Windows外壳发送通知,资源管理器左面的树形图通常也会更改。
    缺点: 即使你已经不在项目下工作了,该进程仍然持续运行。取决于你工作副本的数量和大小,它将占用10-50 MB的RAM内存空间。

Windows 外壳 (Shell)

  • 缓存在外壳扩展dll中直接完成,但仅仅是为那些当前可见的文件夹。每次你浏览到其他文件夹,状态信息就会被重新获取。
    优点: 仅仅需要很少的内存(大约1 MB),并且可以实时显示状态。
    缺点: 因为仅有一个文件夹被缓存,图标覆盖不会递归地显示状态。在大一些的工作副本下,它在浏览器中显示一个文件夹将比默认缓存模式花费更多时间。而且mime-type 列将无效。

无(None)

  • 在这种设置下,TSVN在浏览器里就完全不去获取状态了。因此,版本控制下的文件将不会获得任何图标覆盖。文件夹也仅仅有个“正常”状态的图标覆盖,其他的不会显示,也不会有其他额外的列可用。
    优点: 绝对不会占用任何额外的内存,也完全不会减慢浏览器的浏览速度。
    缺点: 文件、文件夹的状态信息不会显示在浏览器中。要获知你的工作副本是否被修改了,你需要使用“检查更新”对话框。
    原文作者:萝卜的琪迹
    原文地址: https://www.jianshu.com/p/92215a10d9cd
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞