我无法在 Ubuntu 上使用以下配置从我的 SVN 存储库签出:
svnserve.conf:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
授权内容:
[aliases]
[groups]
[/procode]
kompi = rw
tlevi = rw
[/procode/code]
david = rw
test = rw
passwd内容:
[users]
david = aaa
adam = aaa
levi = aaa
test = aaa
我的仓库位于 /home/kompi/business
我使用以下命令启动 svnserver:svnserve -d -r /home/kompi/business --log-file /home/kompi/svnservelog.txt
版本为:svnserve,版本 1.6.12(r955767)
并包含一个 procode 子目录。我尝试使用 tortoiseSVN 签出每个用户,但我总是收到授权失败错误。
答案1
- 我认为,你可以(必须?)在 authz 文件中为 / 路径定义一些规则:
$authenticated = r
不是太宽 - 如果
/home/kompi/business
是repo,你错误地启动了 svnserve:-r 选项定义存储库集合的根并且必须是所有存储库的父文件夹
附言:最好在 CLI 中解决与 svn 相关的问题:svn ls /URL/OF/REPO
为您提供更详细的信息
答案2
真正的问题是我使用了与 SVN+SSH 相同的签出 URL
svn+ssh://服务器名称/home/kompi/business/procode
但是当您使用 svnserve 时,url 的根目录将成为您的 repo,因此正确的 URL 将是:
svn://服务器名称/procode
答案3
您是否尝试过使用 TortoiseSVN 以外的其他程序?我遇到了麻烦,为了确保问题不是出在 TortoiseSVN 本身,我安装了 RapidSVN,它使用相同的 URL 运行良好。
TortoiseSVN 中肯定有一些新功能无法与我们的 SVN 服务器配合使用。我不确定是什么,但他们确实做了一些事情,因为 TortoiseSVN 以前从未让我失望过。