TortoiseSVN中的Windows资源管理器图标需要很长时间才能刷新以纠正状态

时间:2010-02-07 19:00:53

标签: windows tortoisesvn

提交文件后,图标会保留修改或等待提交很长时间。有没有办法强制刷新,以确保我看到的图标是文件的正确状态?

14 个答案:

答案 0 :(得分:57)

FAQ中所述:尝试运行清理。

答案 1 :(得分:35)

你可以试试这个:

TortoiseSVN - >设置 - >图标叠加,将状态缓存设置为“Shell”而不是“默认”

参考。帮助。

  

贝壳   缓存直接在shell扩展DLL文件中完成,但仅适用于当前可见的文件夹。每次导航到另一个文件夹时,都会再次获取状态信息。

     

优点:只需要很少的内存(大约1 MB的RAM)并且可以实时显示状态。

     

缺点:由于只缓存了一个文件夹,因此叠加层不会递归显示状态。对于大型工作副本,在资源管理器中显示文件夹比使用默认缓存需要更多时间。此外,mime-type列不可用。

答案 2 :(得分:13)

我发布了类似的答案here,但为了省去打开链接的麻烦,我将在此处引用:

  

我不确定这是不是确切   与你的问题有关,但我发现了   TortoiseSVN有时可能非常   处理存储库时速度很慢   其中有很多文件。这个   在tsvncache.exe中显示自己   过程占用了大量的内存。该   tsvncache.exe进程扫描文件和   文件夹和关联熟悉的   与他们的图标来表示   更改/忽略等文件。

     

解决这个问题的方法是告诉Tortoise SVN   只缓存你的文件夹   工作并忽略其他人。至   执行此操作,右键单击您的项目   文件夹并选择   TortoiseSVN->设置 - >图标叠加。   我有排除路径设置为c:*和   d:*(基本上忽略所有固定的   驱动器)和包含设置为我的路径   项目文件夹。

答案 3 :(得分:5)

最近偶然发现了这个问题。找到一个简短而肮脏的解决方法,已被证明是100%有效。

通过右键单击并选择“新建” - >在要刷新图标的文件夹中创建一个空文本文件。 “文字文件”。图标应该神奇地刷新。当然,删除空文本文件。

答案 4 :(得分:4)

关闭Windows Explorer窗口并重新打开帮助。通常,图标停留在Windows资源管理器的树部分。

没有 - 清理 F5 没有帮助。我想这与Explorer有关,而与TortoiseSVN无关。

答案 5 :(得分:2)

如果您想检查是否已完成所有操作,则会出现“修改svn检查”菜单选项。如果你在那里按F5它会更新并向你显示真相。如果让您感到烦恼的是文件夹图标已过期,您可以关闭图标。

答案 6 :(得分:1)

我不知道它是否相关但是F5似乎有时帮助......

我对TortoiseSVN的体验是,性能与签出目录的数量直接相关。您可以设置一些TortoiseSVN属性中必须包含/排除的目录,以加快该过程。

答案 7 :(得分:1)

转到要在其下更新图标的目录。用鼠标右键单击该目录,在SVN上下文浏览器菜单中选择“清理”,然后按 F5 。它应该刷新该目录下的所有SVN图标。它确实适合我。

我在一个包含数千个文件的巨大项目上工作,并且我的计算机上的SVN'清理'非常快,所以我在大多数情况下在根级别进行,因此刷新了所有图标。对于没有太多内存的较慢的计算机,大型项目的完全清理可能需要一段时间。在这种情况下,您可以只刷新所需的目录。

有人在上面说过,'清理'会恢复你当地的变化,但这不一定是真的。它不会让我回复......而且,我不认为这是你应该启用的选项。有时你的本地SVN缓存会被破坏,清理会为你修复它们......这通常是你提交等等的必要条件......

希望它有所帮助。

PS。我的陆龟SVN版本是:TortoiseSVN 1.6.16,Build 21511 - 64 Bit

答案 8 :(得分:1)

Windows'“刷新”(F5)主要适用于我(好吧,我也痴迷地按下它),但有时窗口根本没有任何图标叠加。在这些情况下,无论我选择哪种选项,“清理”都没有帮助,包括“刷新外壳覆盖”。

我按照gekowa提示:

TortoiseSVN - >设置 - >图标叠加,将状态缓存设置为“Shell”而不是“默认”

下次打开窗口时,叠加层是正确的。窗口打开需要几秒钟,但之后一切都正常。我将状态缓存设置回“Shell”,时间延迟也消失了。

以前,我已将状态缓存设置为“无”,但这没有帮助。

答案 9 :(得分:1)

我有类似的问题。我创建了一个新的分支,然后检查了一个新的工作副本。新的工作副本没有应该的图标叠加。什么都没有出现。只有在通过Windows任务管理器终止TSVNCache.exe进程后,图标才会正确显示。

答案 10 :(得分:1)

F5 对我来说也不起作用,但我找到了一个有效的 F5 方法。

假设您有一个名为projects的文件夹,并且有一个名为mysubversionedproject的文件夹。如果展开资源管理器树,您将看到

  • 项目
    • mysubversionedproject

如果您现在按 F5 ,它可能无效,正如许多人所注意到的那样。

但是,如果你关闭这棵树,你只能看到

  • 项目

(并确保您还点击了项目,以便实际选择它)
并按 F5 ,然后再次展开树,然后它可能会工作。

对我来说,mysubversionedproject现在有了覆盖的图标,就像它应该的那样。

答案 11 :(得分:0)

  

对此的修复是告诉Tortoise SVN仅缓存您的文件夹   正在努力并忽略其他人。为此,请右键单击您的   项目文件夹并选择TortoiseSVN->设置 - >图标叠加。我有   排除设置为c:*和d:*的路径(基本上忽略所有固定驱动器)   并包含设置到我的项目文件夹的路径。

我基本上和Malice做的一样,但我取消选中固定驱动器并将C:\ Users \ YOURNAMEHERE \ Documents *添加到include目录中。对我来说效果很好,因为我的所有项目都在这个文件夹下。

答案 12 :(得分:0)

以noodle7的答案为基础:另一种选择是改变:

TortoiseSVN - >设置 - >图标覆盖,将状态缓存设置为“默认”而不是“外壳”

这对我有用。 TortoiseSVN 1.9。

答案 13 :(得分:0)

所有这些答案/技巧/解决方案,老实说,你所要做的就是使用下拉菜单切换到另一个预先存在的分支 - 右键单击​​> Git Branch,然后切换回您正在处理的分支,以便查看更新的状态图标。瞧!