为 http checkout 设置 Subversion(使用 TortoiseSVN)

Setup Subversion for http checkout (using TortoiseSVN)

我是 Subversion 新手,我的项目要求我通过 http 访问我的存储库。

我已经在我的托管服务器(bluehost、centos7)上创建了存储库,我正在尝试通过 http 从另一台计算机访问它。

通过阅读一些教程(this 等),我了解到我需要配置 subversion.conf 文件,该文件应位于“/etc/httpd/conf.d/”。

当我查看那个位置时,我没有看到那个文件。 另外,教程说配置文件应该引用'mod_dav_svn.so'和'mod_authz_svn.so'模块。

与支持人员交谈,我了解到 subversion 未使用 mod_dav_svn 进行初始化,因此我自己进行了设置。但是,我没有在“/usr/local/apache/modules/”文件夹中找到 'mod_dav_svn.so' 和 'mod_authz_svn.so'。相反,我在“/usr/lib64/httpd/modules/”文件夹中找到了它们。

目前,当我尝试访问我的存储库(使用 TortoiseSVN)时,我遇到了几种错误,具体取决于我尝试使用的 url(with/without 'trunk'最后,不确定我需要使用什么):

当我在服务器本地签出回购协议时,我使用: svn 联合文件:///path/to/repos/RepoName/trunk

当我上网时:

我只看到存储库创建的文件夹(conf、db、hooks、locks)。我没有看到密码请求、"Revision 0" 或我自己的存储库项目。

我的“/etc/httpd/conf.d/subversion.conf”:

LoadModule dav_svn_module     /usr/lib64/httpd/modules/mod_dav_svn.so
LoadModule authz_svn_module   /usr/lib64/httpd/modules/mod_authz_svn.so

# Add the following to allow a basic authentication and point Apache to where the actual
# repository resides.
<Location /repos>
        DAV svn
        SVNPath /path/to/repos/
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

apache 错误日志:

[error] [client xxx.xxx.xxx.xxx] File does not exist: /path/to/repos/RepoName/trunk

我完全迷路了。我现在需要做什么才能使用 TortoiseSVN 检出存储库?

  1. 如果|当基于 http 的 SVN 出现 "Redirect cycle detected for" 时,这意味着(大部分时间)位置配置错误:DAV-served <Location> 必须是纯虚拟的,并且不存在于真实文件系统中Web 服务器树。 似乎 你有 /repos 作为 Apache 主目录中的真实目录
  2. 如果 SVNPath /path/to/repos/ /path/to/repos/ 必须是真实存储库的路径,它直接存在于 repos/ 目录中,但根据您的文本

... I use: svn co file:///path/to/repos/RepoName/trunk

您的存储库 可能 repos/ 更深???你必须找到你的存储库的位置,修复错误(通常你不能同时拥有两个存储库 /path/to/repos/path/to/repos/RepoName (存储库有预定义的树并且不能包含在文件系统中-level 另一个存储库),使用 SVNPath /path/to/repos/ 你不能访问 /path/to/repos/ 中的多个存储库)

最后我设法通过 TortoiseSVN 从我的计算机连接到我的存储库,但它使用的是 svn+shh(使用 svnserve)而不是 http。

我无法理解错误 "Redirect cycle detected" 和 "Unexpected HTTP status 405" 的原因,但是如果您正在阅读本文是因为您正在尝试建立与您的存储库的连接并且您收到同样的错误,也许您想查看以下对我有帮助的参考资料:

http://mikespicer.net/wp/programming/bluehost-with-svn/ https://serverfault.com/questions/182549/subversion-bluehost-and-tortoisesvn http://cristianfierro86.blogspot.co.il/2013/04/how-to-set-svn-repository-on-bluehost.html