我最近设置了一个带身份验证的svn repo。
我们的PC用户正在使用陆龟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时尝试结帐。
我可以看到日志中没有任何与之相关的错误。
修改:澄清 所有用户都使用以下网址格式检出repos:
http://svn.myserver.com/repos/REPONAME
答案 0 :(得分:0)
PC和Mac用户都可以在浏览器中使用正确的身份验证来查看存储库
您的案例中的浏览器不是最好的测试工具。基于CLI的SVN客户端将提供有关问题的更多详细信息
在你的情况下,Mac用户(我假设)试图读取存储库根目录,而不是存储库(在浏览器中仅可能在配置中使用SVNListParentPath On
,你有)。任何操作系统上的任何SVN客户端(当前稳定版1.7)无法读取SVNParentPath (承诺在1.8中更改),必须才能使用
svn ls SERVER/repos/REPONAME
作为单个存储库
答案 1 :(得分:0)
最初我们的svn使用单个存储库,我们将其更改为使用存储库集合。我们仍在使用相同的子域名&#34; svn.server.com&#34;主要区别是我们的系列现在是svn.server.com/repos /
SmartSVN存储了旧网址&#34; svn.server.com&#34;并且在结账时似乎忽略了新提供的URL(svn.server.com/repos/TEST)
解决方案很简单。
SmartSVN > Preferences > Authentication
删除旧记录,然后尝试再次结帐。