我最近在我们的服务器上升级了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
然后问题得到解决,我们可以再次检查我们的更改。
答案 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>
为我解决了这个问题。