2013-05-06 127 views
0

我最近设置了一个svn回购以及验证。SmartSVN仓库永久移动

我们的PC用户使用龟SVN,并能签,提交等

我们的Mac OS用户正在使用的SmartSVN并试图签,他们收到以下错误时:

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

我在初次使用tortoisesvn进行设置时遇到了此问题,解决方案是确保该svn repo不是www目录的子项。所以,我把它放在主目录

主目录如下所示:

/public_html 
/repos 
/www 

虚拟主机的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时试图结帐。

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

编辑:澄清 所有用户都被检查出回购其网址如下格式:

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

回答

0

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

SmartSVN存储旧网址“svn.server.com”,似乎在结帐时忽略新提供的网址(svn.server.com/repos/TEST)

解决方案很简单。

SmartSVN > Preferences > Authentication 

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

0

Both PC and Mac users are able to view the repositories with the proper authentication in a browser

浏览器在你的情况是不是最好的测试工具。基于CLI的SVN客户端将给出有关问题

更多的细节在你的情况的Mac用户(我)试图读取库的根,而不是储存库(它在浏览器在配置SVNListParentPath On可能,你有)。在任何操作系统的任何SVN客户端(目前的稳定1.7)无法读取一个SVNParentPath(承诺在1.8改)和必须使用

svn ls SERVER/repos/REPONAME作为最小的根级别

+0

对不起;我知道我忘了在我的帖子中提到一些东西。 Mac和PC用户都按照您提及的方式查看回购协议。那是; SERVER /回购/ REPONAME。我会将其添加到我的帖子中。 – gin93r 2013-05-08 11:40:10

+0

看来我不能在http协议中使用任何svn命令。无法识别的URL方案。我想我需要安装霓虹灯。 – gin93r 2013-05-08 12:22:46

+0

@Veo - 很好的结果。用'svn --version'测试它并获得活动的RA层 – 2013-05-08 12:48:21