TortoiseSVN 1.7在提交和检查网络共享上的修改时非常慢

TortoiseSVN 1.7在提交和检查网络共享上的修改时非常慢,svn,tortoisesvn,commit,network-share,performance,Svn,Tortoisesvn,Commit,Network Share,Performance,此问题仅与OrtoiseSVN 1.7操作相关,且仅与网络共享相关 在开发服务器上,我有一个svn工作副本,我可以在其中提交一些内容,然后在生产服务器上进行更新。 有时,当开发服务器上的所有活动会话都很忙时(我无法通过RDP连接),我会通过网络共享从另一个开发服务器进行“提交”。 因此,我打开DEV-2,然后打开网络目录:\\DEV\Project并单击“提交”或“检查修改”。 此时对话框打开非常缓慢(30-40分钟)。没有未版本化的文件。无论更改了多少文件(可以是0)。 注意:“更新”操作正常

此问题仅与OrtoiseSVN 1.7操作相关,且仅与网络共享相关

在开发服务器上,我有一个svn工作副本,我可以在其中提交一些内容,然后在生产服务器上进行更新。
有时,当开发服务器上的所有活动会话都很忙时(我无法通过RDP连接),我会通过网络共享从另一个开发服务器进行“提交”。
因此,我打开DEV-2,然后打开网络目录:\\DEV\Project并单击“提交”或“检查修改”。
此时对话框打开非常缓慢(30-40分钟)。没有未版本化的文件。无论更改了多少文件(可以是0)。

注意:“更新”操作正常。
上述问题同样适用于旧版本的OrtoiseSVN(例如1.6)

我看到很多建议,不要在网络共享上使用这些操作,而是在本地使用它们。
但这并不是问题的解决方案。
有时我需要在网络共享上执行“提交”。
同样,这在早期版本中也很好用

也许有人知道如何解决这个问题?或者可能存在一些可以禁用的设置

我在乌龟开发者论坛上发现了同样的问题。但也没有解决方案:


更新1:
我在tortoise开发者论坛上添加了一个类似的问题:

你链接到的tigris.org帖子后面的原始海报上写着:

“我找到了解决方案。如果我停用

设置->常规​->对话框2->状态->“递归到未版本的文件夹”

在OrtoiseSVN v1.6.x版中,所有功能都与以前一样。”

在我看来,解决这个“问题”的最佳“解决办法”是要求管理员改进项目的基础结构。SVN应该帮助您将某个源代码树的本地副本与远程源代码树同步。如果您被迫从本地计算机登录到某个远程--dev server,并将更改提交到--remote--network目录,那么显然存在一些限制,使您无法以最佳(可接受)方式工作。如果客户端不允许您将代码的副本签出到本地计算机,我可能理解为什么会这样做,但是强迫人们通过RDP工作是绝对疯狂的。不要为那些有这种愚蠢要求的人工作。雇主至少应该让你来“开发服务器”工作,而不是通过RDP


一个不太理想的建议是在修改文件所在的主机上(而不是通过网络挂载)从命令行使用svn二进制文件。您可以通过直接使用工具来消除错误源。

是否使用
文件://
协议?如果是,请立即停止,尤其是在网络共享上

您永远不应该在Subversion存储库上使用
文件://
——特别是当多个用户正在使用它时

这一点尤其正确,因为轻量级Subversion服务器进程
svnserver
很容易启动并运行。甚至还有一些方法可以让它作为一个整体发挥作用

唯一的问题是您的站点阻止了网络上的端口3690。然而,这应该很容易补救。如果没有,您可以从VisualSVN、Wandisco甚至CollabeNet获得许多免费的Apache HTTPD/Subversion包中的一个,这些包允许您在Windows系统上使用HTTPD轻松设置Subversion服务器


唯一的另一个可能的问题是,您正在将旧的1.6 Subversion工作目录与TortoiseSVN 1.7一起使用。Subversion 1.7的工作目录布局已更改,您真的应该进行一次新的干净签出。

作为一种解决方法,我们已经关闭了
显示锁

右键单击文件夹并选择
Tortoise\Settings
然后选择
General\Dialog 3
然后选择取消选择
显示锁定


请也查看一下

您正在网络驱动器上存储SVN工作副本吗?嗯…@Mike Miller没有。它像本地副本一样存储在开发服务器上。但有时我需要从网络文件夹上的第二台DEV-2服务器调用“提交”或简单地“检查修改”。工作副本配置到web服务器,但不配置到网络共享。您可能应该将此作为性能回归报告给此工具的开发人员。是的,我在那里发布了此问题。因此答案是肯定的,您正在从DEV-2服务器对网络共享上的工作副本调用commit。我相信TSVN的人会说出我所说的。“你做错了。”使用某种远程shell功能在DEV-1机器上调用svn commit。我在更新TSVN时第一件事就是尝试了它。不幸的是,一切都没有改变。看起来这可能不是固定的,因为它不是使用新TSVN的常用方法。这解决了我的问题。似乎一些覆盖选项和忽略目录对于大型二进制文件的正常工作至关重要。谢谢。你的解决方案非常有效,投票通过,谢谢,你的答案很快就会被接受。