使用Subversion 1.8+客户端提交时出现错误“服务器发送了不正确的HTTP响应”。

9

最近我在使用TortoiseSVN(1.8.7.25475)或AnkhSVN(2.5.12471.17)提交到一个单一的SVN仓库时遇到了错误:

运行上下文错误:服务器发送了不正确的HTTP响应

以下是TortoiseSVN中错误的截图:

TortoiseSVN 'Improper HTTP Response' Error

虽然像素可能不同,但在AnkhSVN中产生的错误相同。

这只似乎会影响到修改的尝试,而不是添加或删除;我可以成功地向同一台服务器的其他SVN仓库提交修改。

由于我的队友们继续向问题仓库提交修改,而且问题只发生在我的提交中,因此我尝试了清空工作副本后提交一些简单的修改:一次只提交一个修改可以工作,但后来...又是同样的错误。

我还搜索、查看并尝试了一些可能的解决方案(例如Stefan Küng回复的TortoiseSVN论坛中的线程)——调整注册表(备份后删除HKEY_CURRENT_USER\Software\Tigris.org),检查全局属性,确保我没有使用代理。但是还是同样的错误。

最后,我尝试修复和降级TortoiseSVN。但是还是同样的错误。

是否有其他人在类似的情况下遇到过这个错误并找到解决办法?

请注意,一些相关的搜索结果提到了调整httpd.conf或其他方面的SVN服务器配置,但我认为调整服务器并不适当。我的队友们仍然可以使用相同版本的TortoiseSVN(相同的操作系统- Win 7 Pro 64-bit等)提交修改到同一个仓库。也许我在服务器上错过了某些可能只会影响我而已的东西。


1
你安装了什么杀毒软件?如果完全卸载杀毒软件,是否会出现相同的错误?你的计算机和服务器之间是否存在任何代理/防火墙? - bahrep
@bahrep:我宁愿不说,但是我和我的队友都使用相同的防病毒软件。尽管如此,这是一个合理的问题,我会考虑它可能发挥的作用。至于我的计算机和SVN服务器之间是否存在任何代理/防火墙,我不认为有;但我会再次确认。尽管如此,我和我的队友都将受到影响。 - J0e3gan
1
与有关 Cisco / 防火墙 / 杀毒软件的故障问题有关,因此了解您的环境至少是有帮助的。 - bahrep
1
@bahrep:啊,明白了。谢谢提醒。我会检查任何网络中介的细节,并研究AV的可能性。 - J0e3gan
我也遇到了Tortoise 1.9.4的同样问题,但是建议的解决方案(设置http-bulk-updates = yes)没有起作用 :( - Federico Destefanis
2个回答

11

将您的Subversion客户端升级到最新版本。


过时的答案:

在客户机上!在文本编辑器中打开%APPDATA%\Subversion\servers,并添加行http-bulk-updates = yes,保存文件并查看是否有帮助。

如果有帮助,最好配置Apache HTTP Server的httpd.conf,使用SVNAllowBulkUpdates prefer指令,以便所有Subversion 1.8客户端都可以连接而不会出现任何错误。

如果您的组织中有多个人遇到此错误,并且调整服务器配置仍然不可接受,您可以通过Windows注册表更改设置http-bulk-updates = yes,以便可以通过AD Group Policy 在所有受影响的计算机上进行调整。

Apache Subversion 1.8 Release Notes中阅读更多信息。

P.S.故障网络硬件/防火墙/杀毒软件仍然是这里的根本原因。以上仅是回退到使用neon网络库的Subversion 1.7和旧客户端的解决方法。顺便说一下,我猜安装的杀毒软件是NOD32或BitDefender。


这看起来非常有前途,我今天上午会尝试一下。谢谢。如果问题被证明是RTFM可预防的(好吧,RTFRL可预防的),那肯定会让我养成每次TSVN更新都读发行说明的习惯。过去我通过仔细阅读它们避免了很多痛苦...但承认在几次顺利无事件的TSVN更新后变得有点自满了。 :/ - J0e3gan
1
@J0e3gan,我认为这不是一个RTFM问题。对于普通用户来说,这是意料之外的行为,并且原因非常不清楚。 - bahrep
那对我的有线连接非常有效,但事实证明我的无线连接仍存在问题,我已经了解到它使用了HTTP代理。我正在深入研究代理的影响。感谢您指出这种可能性。 - J0e3gan
它也帮助了我 - 我做了以上所有步骤 + 更新了我的TortoiseSVN客户端 + 重新启动了电脑,现在一切都恢复正常了。 - Stan
1
也许你是对的,我应该先尝试更新TortoiseSVN,然后再尝试修改其他内容,但是我的程序员本性占了上风 :-) - Stan
显示剩余2条评论

2

在我的情况下,问题出在nginx的gzip上(我在Nginx后面运行SVNEdge SVN服务器)。

我禁用了gzip,一切开始正常运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接