3

我一直在尝试设置 Apache 来访问颠覆存储库,例如:

  • 利用存储库集合,即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..

尾部斜线在这里似乎非常重要,所以在尝试了所有尾部斜线组合之后,Location我发现:SVNParentPathSVNMasterURI

  • 为了SVNListParentPath工作,Location必须有一个斜杠。
  • 为了SVNMasterURI工作,Location不能斜线。

所有这些都在 Ubuntu 12.04、Apache 2.2.22、mod_dav_svn 1.6.17dfsg-3ubuntu3 上。

我的问题是:

有没有办法同时使用SVNListParentPathSVNMasterURI

4

1 回答 1

2

如果您愿意,请将 Subversion 和 mod_dav_svn 升级到 1.8.10 或更高版本。与此同时,“斜杠错误”已得到修复,并且 SVNListParentPath 与<location /collection>.

我可以确认,SVNMasterURI 对<location>. 确保主存储库和从存储库中的路径相同。

于 2014-10-19T22:00:29.880 回答