0

我最近设置了一个带有身份验证的 svn repo。

我们的 PC 用户正在使用 tortoise SVN,并且能够结帐、提交等。

我们的 Mac OS 用户正在使用 SmartSVN,在尝试结帐时,他们收到以下错误:

Repository moved permanently; please relocate OPTIONS
request failed on'/'

我最初使用 tortoisesvn 设置它时遇到了这个问题,解决方案是确保 svn repo 不是 www 目录的子目录。所以我把它放在主目录中

主目录如下所示:

/public_html
/repos
/www

vhost conf 文件如下所示:

<IfModule mod_dav_svn.c>
 <Location /repos/>
  DAV svn
  SVNParentPath /data/svn/repos/
  SVNListParentPath On
  AuthType Basic
  AuthName "SVN Repository"
  AuthUserFile /data/svn/.htpasswds/.svn.htpasswd
  AuthzSVNAccessFile /data/svn/.htpasswds/.svn.authz
  Require valid-user
 </Location>
</IfModule>

PC 和 Mac 用户都可以在浏览器中通过适当的身份验证查看存储库。唯一的问题是在 MacOS 上使用 SmartSVN 时尝试结帐时。

日志中没有任何我可以看到相关的错误。

编辑:澄清 所有用户都在使用 url 格式检查 repos,例如:

http://svn.myserver.com/repos/REPONAME
4

2 回答 2

0

PC 和 Mac 用户都可以在浏览器中通过适当的身份验证查看存储库

在您的情况下,浏览器不是最好的测试工具。基于 CLI 的 SVN 客户端将提供有关问题的更多详细信息

在您的情况下,Mac 用户(我)尝试读取存储库根目录,而不是存储库(在浏览器中只能使用SVNListParentPath On配置,就像您一样)。任何操作系统上的任何 SVN 客户端(对于当前稳定的 1.7)都无法读取 SVNParentPath(承诺在 1.8 中更改)并且必须使用

svn ls SERVER/repos/REPONAME作为单个存储库的最小根级别

于 2013-05-06T22:49:04.217 回答
0

最初我们的 svn 使用单个存储库,我们将其更改为使用存储库集合。我们仍在使用相同的子域“svn.server.com”,主要区别在于我们的集合现在是 svn.server.com/repos/

SmartSVN 存储了旧的 url “svn.server.com”,并且在结账时似乎忽略了新提供的 url (svn.server.com/repos/TEST)

解决方案很简单。

SmartSVN > Preferences > Authentication

删除旧记录,然后再次尝试签出。

于 2013-05-08T13:13:00.983 回答