我已经使用本教程在我的 PC 上成功安装了 svn,没有任何问题 https://help.ubuntu.com/community/Subversion (我正在使用通过 WebDAV 协议访问(http://))
好的,现在我有非常具体的需求,因为它超出了上述教程的范围。
我使用教程中提到的命令创建了一个用户
sudo htpasswd -c /etc/subversion/passwd user_name
首先我不明白下面的命令在这个过程中做了什么
svn co http://localhost/svn/myproject myproject --username user_name
我假设它允许 user_name 访问 myproject
完成所有这些之后,我创建了名为 secondproject 的全新存储库遵循相同的过程,这次将用户命名为 second_user
但是由于某种原因,用户 user_name 可以访问两个存储库,实际上我想要的是 user_name 只能访问 myproject 和 second_user 并且只能访问 secondproject。我假设是因为他们都从位于 /etc/subversion/ 的通用 passwd 文件授权
我搜索了我的问题并通过编辑位于 /home/svn/conf 中的 3 个文件找到了解决方案。passwd, authz, svnserve.conf
我的 svnserve.conf 看起来像
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
我的 authz 看起来像
[groups]
developers = testuser
[/]
@developers = rw
我的密码看起来像
[users]
testuser = test123
但由于某种原因,这些文件没有任何作用。我不能使用用户 testuser。此外,一旦我通过浏览器使用用户 user_name 登录,我就无法在浏览器中更改用户。我在 RapidSVN 中遇到了同样的问题。无论我做什么,我都无法使用用户 testuser 提交更改,它总是使用用户 user_name 提交。我一定错过了某种我在互联网上看不到的设置。
简而言之,我的要求是创建 2 个不同的存储库。每个 repo 有 1 个用户,只能访问其相应的 repos。
如果您需要我提供的任何其他信息来解决此问题,请告诉我。我尽量简短。