给定使用SVNParentPath的典型Subversion / Apache配置,存储库托管/svn/
如下:
<Location /svn>
DAV svn
SVNParentPath /srv/source/svn/repos
SVNReposName "Subversion Repository"
AuthzSVNAccessFile /srv/source/svn/authz
Satisfy Any
AuthType Basic
AuthBasicProvider file
AuthName "Subversion Repository"
AuthUserFile /srv/source/svn/htpasswd
Require valid-user
</Location>
有没有一种方法可以覆盖特定存储库的此配置,而不必将其托管在其他路径上?也就是说,有什么办法可以添加这样的Location
块...
<Location /svn/my_special_repo>
SVNPath /srv/source/svn/repos/my_special_repo
AuthzSVNAccessFile /srv/source/svn/repos/my_special_repo/conf/authz
</Location>
...是否覆盖了Location
块中提供的配置
/svn
?我使用上述配置进行此操作的尝试已经在Apache错误日志中遇到了奇怪而无用的错误,例如:
[Wed Feb 02 11:28:35 2011] [error] [client 10.10.209.120]
(20014)Internal error: Can't open file '/srv/source/svn/repos/svn/format':
No such file or directory
所有这些似乎都是mod_dav_svn告诉我我做不到的事情的方式。我愿意接受解决方案或替代方案!
编辑:好吧,我可以看到这个问题在读者群中引起了很多兴奋。作为记录,我最终可能要做的是为我们所有现有存储库生成每个存储库配置,然后放弃SVNParentPath
基于的配置。按仓库的 Apache配置非常简单,尤其是使用mod_macro之类的东西时;困难的部分将拆分全局authz文件。如果您之前已完成此操作,将不胜感激。
我有同样的问题,并通过使用mod_macro解决了。谢谢!!!(这似乎是Apache或Subversion中的老错误。)
—
Achimnol 2011年