Apache 颠覆E160013:&x27/svn/xxx/!svn/me';找不到路径*错误

Apache 颠覆E160013:&x27/svn/xxx/!svn/me';找不到路径*错误,apache,svn,Apache,Svn,我最近在服务器上升级了(从0.12.2-5升级到0.12.3),在重新配置了所有脚本和存储库之后,一切看起来都很好。我可以使用登录并查看源代码,并浏览存储库。我测试了源代码,可以通过visualsvn和tortoise浏览存储库 但当涉及到提交所做的更改时,出现了一个问题。我得到一个路径未找到异常。查看服务器上的错误日志,我所能看到的是,所有GET请求都正常,但POST的URL不正确(!svn/me被附加在末尾) 在花了几个小时浏览日志和配置之后,由于Subversion从1.6升级到了1.7,

我最近在服务器上升级了(从0.12.2-5升级到0.12.3),在重新配置了所有脚本和存储库之后,一切看起来都很好。我可以使用登录并查看源代码,并浏览存储库。我测试了源代码,可以通过visualsvn和tortoise浏览存储库

但当涉及到提交所做的更改时,出现了一个问题。我得到一个路径未找到异常。查看服务器上的错误日志,我所能看到的是,所有GET请求都正常,但POST的URL不正确(
!svn/me
被附加在末尾)

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

变通办法 禁用此新功能的方法是按如下方式更改配置:

DAV svn
...
SVNAdvertiseV2Protocol Off

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

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

我通过禁用HttpV2协议解决了这个问题。要禁用它,您可以对
mod_dav\u svn
配置位置进行如下更改:

DAV svn
...
SVNAdvertiseV2Protocol Off
DAV svn ...
SVNAdvertiseV2Protocol Off

我的存储库有大约700000个文件和660个文件夹。我也犯了同样的错误,并且确信关闭
SVNAdvertiseV2Protocol
不是正确的方法。添加

<IfModule dav_svn_module>
    SVNInMemoryCacheSize 262144
    SVNCacheFullTexts on
    SVNCacheTextDeltas on
</IfModule>

SVNInMemoryCacheSize 262144
SVNCacheFullText on
SVNCacheTextDelta上的
/etc/apache2/mods enabled/dav_svn.conf
为我解决了这个问题。

这是一个问题,它在
/
为Trac服务,在
/svn
为Subversion服务。该问题最初是通过禁用
SVNAdvertiseV2Protocol
解决的。后来,通过从
/Trac
向Trac提供服务并将
/
重定向到
/Trac
解决了该问题。但是,由于重定向,该解决方案并不理想。该项目的另一名管理员找到了添加以下内容的解决方案:

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

我不知道为什么会这样,但它很有效,不需要从
/Trac

重定向和服务Trac。这可能不适合通常接受的SO问答格式,但谁在乎呢?它救了我。起初我看到了这个问题,但没有看到答案,我对此不予理睬,但在尝试了几个小时其他的一切之后,我又一次偶然发现了它。非常感谢。这个问题是一个完美的答案!你可能应该编辑这篇文章,使其成为一个问题,然后编辑下面的文章,使其成为你问题的答案。这样你就可以把它标记为已解决这里讨论了相同的问题,但没有解决方案:(这只是一个解决办法,它不能解决根本问题。HTTPv2应该可以与mod_dav_svn一起工作。您的答案也不适用于我。