0

我已经使用本教程在我的 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。

如果您需要我提供的任何其他信息来解决此问题,请告诉我。我尽量简短。

4

1 回答 1

0

好的,我知道我的设置出了什么问题。一旦我为 WebDAV 协议配置了我的设置,我就不能使用自定义协议 (svn://)。如果我尝试它,WebDAV 设置将覆盖自定义设置。

我所要做的就是创建一个新的存储库并立即跳到自定义协议设置。

于 2014-07-10T06:52:02.877 回答