我一直试图设置Apache来访问subversion存储库,这样:
SVNParentPath指向包含存储库的文件夹。SVNMasterURI透明地向主服务器提交代理。我最初的尝试是这样的:
<Location "/collection">
DAV svn
SVNParentPath /path/to/collection
SVNMasterURI http://master/collection
SVNListParentPath on
AuthzForceUsernameCase Lower
AuthzSVNAccessFile /path/to/access-file
</Location>使用此配置,透明代理将按预期提交工作。但是,当我试图浏览到http://svn-server/collection/时,我得到了403 Forbidden,错误日志包含The URI does not contain the name of a repository.。
在这里,Trailing slashes似乎非常重要,所以在Location、SVNParentPath和SVNMasterURI上尝试了所有尾随斜杠的组合之后,我发现:
SVNListParentPath工作,Location必须有一个尾随斜杠。SVNMasterURI工作,Location不能有尾随斜杠。所有这些都是在Ubuntu12.04、Apache2.2.22、mod_dav_svn 1.6.17dfsg-3ubuntu3上完成的。
我的问题是:
有没有一种同时使用SVNListParentPath和SVNMasterURI的方法?
发布于 2014-10-19 22:00:29
如果这是您的选择,请将Subversion和mod_dav_svn升级到版本1.8.10或更高版本。在此期间,“跟踪斜杠错误”已经修复,SVNListParentPath在<location /collection>中运行得很好。
我可以证实,SVNMasterURI对<location>非常敏感。确保主库和从存储库中的路径是相同的。
https://stackoverflow.com/questions/15633752
复制相似问题