【问题标题】:All TortoiseSVN actions from the context menu are very slow上下文菜单中的所有 TortoiseSVN 操作都非常慢
【发布时间】:2017-05-23 13:19:43
【问题描述】:

我从 Windows 资源管理器的上下文菜单中执行的每个 TortoiseSVN 操作都非常慢。例如,打开“关于”对话框大约需要 91 秒。我从上下文菜单中采取的任何其他 TortoiseSVN 操作的结果都是相同的。但是,如果我登录到本地管理员帐户,我就没有这个问题。此外,一旦 TortoiseSVN 对话框最终打开,我在该对话框中采取的进一步操作似乎一点也不慢。

我正在运行 v1.9.5.27834(并且我尝试回滚到早期版本。)我全面禁用了 IPv6。我已经多次卸载并重新安装,并手动删除了我能找到的所有适用的%APPDATA% 文件夹和注册表项。我没有映射的网络驱动器。

不管怎样,我在一台新成像的机器上。我感觉备份还原恢复了我的用户帐户的一些设置,这些设置在此处导致了一些冲突/超时(因此我卸载并删除了 %APPDATA%\TortoiseSVN%APPDATA%\Subversion 等)

【问题讨论】:

  • 你检查过你的杀毒软件了吗?您使用什么 Windows 版本?顺便说一句,我建议您将此问题发布到 users@TortoiseSVN 邮件列表:tortoisesvn.net/community.html
  • Windows 7。防病毒软件没有显示它正在阻止任何东西。在转到 SO 之前,我已发布到用户邮件列表。那里还没有收到回复...
  • 我应该补充一点,我已经向企业 IT/网络安全部门抱怨了很多,他们已经完全禁用了 McAfee。这并没有改变任何东西。
  • 您是否尝试过 WPRUI/WPA 来捕获和分析问题?
  • 我现在正在尝试,@magicandre1981。我花了一段时间才成功安装它。待机...

标签: svn tortoisesvn


【解决方案1】:

首先,try latest nightly for 1.9 branch,然后再次启用 ipv6,你使用的 nightly 使用 ipv6,所以禁用是个坏主意。

要了解为什么最新的 TortoiseSVN 每晚也很慢,您需要安装 Windows 性能工具包,它是 Windows 10 SDK 的一部分(如果您仍然使用 Windows 7,use the v1511/Build 10586 SDK,因为这是最后一个版本适用于 Windows 7,Windows 8(.1) 和 Windows 10 使用最新的 Windows 10 SDK)。

(所有其他条目都可以取消选择)

运行WPRUI.exe,选择First LevelCPU Usage并点击start。现在在资源管理器中缓慢右键单击并尝试转到关于对话框,完成此缓慢操作后,单击 Save 将数据保存到 ETL 文件中。

现在双击生成的 ETL 文件以在 WPA 中打开 ETL,setup and load debug symbols in WPAadd the debug symbol server from TortoiseSVN 到 WPA 中的对话框中)。

拖放CPU Usage (Precise) 图表以分析窗格

并在表格视图中为 Explorer.exe 查找 WAIT (µs) max,以查看 long hang and expand the stack to see where it happens.

现在 WPA 应该向您展示 TSVN 的功能所花费的时间最多。

一个想法是 TSVN 尝试检测最后一个可用版本,但它失败了,因为您禁用了 ipv6。

【讨论】:

  • 很遗憾,符号服务器似乎无法正常工作。
  • 哪个?乌龟的那个?当你得到 nightly 时,你还会看到一个带有 PDB 的 zip。将它们存储在本地文件夹中,并将此文件夹添加到 WPA 中的符号路径
【解决方案2】:

通常,由于图标叠加,Tortoise SVN 可能会很慢:

每个文件和文件夹都有一个 Subversion 状态值,由 颠覆库。在命令行客户端中,这些表示 通过单字母代码,但在 TortoiseSVN 中,它们以图形方式显示 使用图标覆盖。

此功能非常耗费资源,将其关闭可以显着提高上下文操作和整个系统的性能。

请参阅this 指南以禁用它。

或者,您可以过滤仅在特定路径上显示的图标。为此,请打开 Settings dialog -> Icon Overlays -> Exclude paths 并输入

C:\*

然后将包含路径设置为工作副本所在的路径:

C:\users\<username>\projects\someprojectname*

【讨论】:

  • 应该提到我已经禁用了图标覆盖。对此感到抱歉。
【解决方案3】:

尝试从头开始创建另一个用户配置文件,并查看该新用户是否仍然存在问题。

这种延迟通常来自冻结的资源。
它确实超时并被系统杀死。

尝试检查这些:
- 您的网络连接
- 发送 (AppData\Roaming\Microsoft\Windows\SendTo) 资源管理器上下文菜单
- Explorer shell extension handlers(在注册表中,classes_root)
- 您也可以在尝试使用 SVN 时检查Event Viewer 是否有错误。
- 最后使用来自 Sysinternals 的Process Explorer;它提供了许多工具来找出流程深处发生的事情。

【讨论】:

  • 是的,就像我的本地管理员帐户一样,使用另一个用户配置文件可以顺利运行。我不确定“检查”这些文件夹或外壳扩展处理程序是什么意思。事件查看器没有显示来自 TortoiseSVN 的事件。我已经用 Process Explorer 进行了检查:任何操作都会产生一个 TortoiseProc.exe 进程,并且没有任何错误的迹象。
  • 如果它从另一个用户配置文件顺利运行,这不是外壳扩展问题。最简单的解决方案是从一个新的配置文件开始并在那里复制您的数据。
【解决方案4】:

这似乎不是 Tortoise SVN 特有的问题,更多的是您帐户的管理问题。作为本地管理员没有问题,我想可能与隐藏文件夹和用户权限有关。

.svn 文件夹对当前用户不可写,因此每次写入(可能是每次读取)都会失败,这让您每次都等待十分之一秒?

我会检查您正在处理的项目的 .svn 文件夹的权限。

【讨论】:

  • 我在哪个文件夹无关紧要。即使从不是存储库文件夹的文件夹,如果我转到 TortoiseSVN &gt; About 我会等待两分钟以上...跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-31
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多