关于如何访问您的存储库似乎有些混乱。svn+ssh://
如果没有人设置,您不能简单地浏览。有人设置了吗?
我很惊讶您可以通过 SSH(使用 PuTTY)登录服务器,因为它是共享托管服务器。这通常是不允许的。大多数共享主机站点不允许 shell 访问。
您在开场白中提到了apache svn 服务器。然后,您同时尝试svn://
和svn+ssh://
。设置 Subversion 服务器和访问 Subversion有四种不同的方法:
- 使用 Apache httpd 作为服务器。为此,您需要正确配置和编译 Apache httpd。您需要几个Apache 插件,例如
mod_dav_svn.so
和mod_dav.so
. 你有这个设置吗?如果你这样做,你需要访问你的存储库,http://
而不是svn://
你显示的。
- 用作
svnserve
服务器。这很容易设置。如您所见,您可以访问您的存储库svn://
。有人配置svnserve
并运行它吗?
- 在 ssh 上使用 svnserve。这使用, 但与Unix 文件访问
svnserve
集成并可以使用。ssh
这设置起来非常非常棘手,而且我看到很少有人实际使用它。每个用户在访问存储库时都会启动自己的svnserve
进程。存储库可以直接访问它,您必须设置个人帐户以防止任何 shell 访问。否则用户可以直接操作存储库。
- 使用直接文件访问在共享存储库时强烈建议不要这样做,因为必须授予所有用户对存储库的直接读/写访问权限。
问题是,如果不知道如何在您的系统上设置 Subversion,就无法帮助您。您是否创建了存储库?如果是这样,您是否启动了svnserve
访问它的进程?其他人是否在该系统上设置了您的 Subversion 存储库?如果其他人设置了存储库,您必须从他们那里获得有关如何访问它的确切说明。
如果您是设置存储库的人,您是设置了 Apache 还是设置了 svnserve?如果你有 setup svnserve
,你是使用默认端口 3690,还是设置另一个端口来使用?你能确定这个端口是否被你的防火墙阻止了吗?您可以使用telenet
命令尝试直接访问端口:
C> 远程登录 50.97.138.99 3690
如果您无法连接,您将看到“无法连接到远程主机”消息,这意味着要么svnserve
没有运行,要么您的防火墙阻止了该端口。由于您可以登录服务器,因此请尝试登录服务器并直接访问该存储库:
$ svn 日志 svn://localhost
如果您可以访问 repo,则说明您已运行 svnserve,但您的防火墙阻止了它。如果你不能访问svnserve
,你可能没有运行它。
试试看,看看你会得到什么。