我有一个 SVN 服务器在带有 Apache dav-svn 模块的 Ubuntu 服务器上运行,可以通过 http 访问它。
我有几个客户的项目,所以我在 /var/svn 上创建了一个树结构
/var/svn/client_1
/var/svn/client_1/project_1
/var/svn/client_1/project_2
...
/var/svn/client_2
/var/svn/client_2/project_1
/var/svn/client_2/project_2
每个项目都是一个新的存储库,当我需要创建一个新项目时,我执行以下操作
在客户端文件夹中创建一个新的存储库
svnadmin 创建 /var/svn/client_X/project_Y
在 dav_svn_conf 上创建一个新条目
<Location /client_X>
DAV svn
SVNParentPath /var/svn/client_X
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
AuthzSVNAccessFile /etc/apache2/svn-acl.txt
</Location>
所以此时我可以通过以下方式访问: https ://my_svn_server.com/client_x/project_y
在 /etc/apache2/svn-acl.txt 文件中,我可以完全控制所有存储库
[/]
my_user=rw
现在我想让客户访问他拥有的项目,但我做不到。如果我使用存储库名称,他可以访问其他客户端的所有存储库
[project_1:/]
client_user=rw
他可以访问client_1/project_1和client_2/project_1
我想做以下事情:
[client_1:/]
client_user=rw
我该怎么做?我应该改变创建存储库的方式吗?
感谢您的回答。