Subversion E160013:'/ svn / xxx /!svn / me'路径未找到*错误

时间:2012-03-29 15:14:21

标签: apache svn

我最近在我们的服务器上升级了bitnami trac stack(从0.12.2-5升级到0.12.3),并且在重新配置所有脚本和存储库后似乎都很好。我能够登录并查看源代码并使用Trac浏览存储库。我测试了检查源代码,我可以通过visualsvn和tortoise浏览存储库。

但是当提出改变时,出现了问题。我找到了一条未找到路径的异常。查看服务器上的错误日志,我只能看到所有GET请求都没问题,但POST的URL不正确(最后附加了!svn/me)。

在花了几个小时浏览日志和配置后,由于Subversion从1.6升级到1.7,这包括new HTTPv2 protocol。该协议以某种方式影响了对SVN存储库的访问,但似乎只影响POST而不是GET。

解决方法

禁用此新功能的方法是更改​​mod_dav_svn配置,如下所示:

DAV svn
...
SVNAdvertiseV2Protocol Off

然后问题得到解决,我们可以再次检查我们的更改。

4 个答案:

答案 0 :(得分:8)

我通过禁用HttpV2协议解决了这个问题。要禁用它,您可以按如下方式更改mod_dav_svn配置位置:

DAV svn ... SVNAdvertiseV2Protocol Off

答案 1 :(得分:3)

只想在这个“问题”中加一点点。将SVN服务器从一台机器重新定位到另一台机器后,我收到了相同的错误消息。一个500错误和“!svn / me”被附加到SVN服务器URL的末尾,没有任何东西会提交,但其他一切都有效。经过几个小时尝试了很多事情后,事实证明VisualSVN / Apache使用的用户帐户没有对SVN repo目录的写访问权。所以我给了帐户修改/写入访问他的SVN repos目录和提交工作。这实际上是有道理的,因为除了提交之外的所有事不确定这对其他人是否有帮助,但我想我会在这里发布它。谢谢你的问题,帮助我了解我哪里出错了。

答案 2 :(得分:0)

这是https://trac-hacks.org上的一个问题,它在/为Trac提供,在/svn为Subversion提供服务。该问题最初是通过禁用SVNAdvertiseV2Protocol来解决的。之后,通过从/trac投放Trac并将/重定向到/trac来解决该问题。但是,由于重定向,该解决方案并不理想。该项目的另一位管理员找到了添加的解决方案:

Alias   /svn            /var/www/000-default/svn

我不确定为什么会这样,但它有效,并且不需要重定向和从/trac提供Trac。

答案 3 :(得分:-1)

我的存储库有大约700,000个文件和660个文件夹。我有同样的错误,并确信if ... elif ... elif ...不是正确的方法。添加

SVNAdvertiseV2Protocol Off

<IfModule dav_svn_module> SVNInMemoryCacheSize 262144 SVNCacheFullTexts on SVNCacheTextDeltas on </IfModule> 为我解决了这个问题。