尝试连接到 SVN 存储库时出错
Posted
技术标签:
【中文标题】尝试连接到 SVN 存储库时出错【英文标题】:Getting Error while trying to connect to SVN repository 【发布时间】:2012-06-14 07:10:02 【问题描述】:当我尝试连接到某个远程服务器上的 SVN 存储库时,我遇到了错误。
无法连接到存储库 URL 'svn://path/to/my/repository/'。 无法连接到主机。由于目标机器主动拒绝,无法建立连接。
有人可以帮我吗?
【问题讨论】:
【参考方案1】:Subversion 使用多种方法与 Subversion 服务器通信:
使用 httpd 使用 svnserve 直接文件访问。所以,我们需要知道的第一件事是您是如何与您的 Subversion 存储库通信的?你设置了吗?如果您这样做了,您是否正在运行svnserve
以充当服务器?或者,您是否将 Apache httpd Web 服务器配置为 Subversion 存储库服务器?如果不是你设置的,是谁设置的?
让我们了解一下基础知识:
文件访问
您使用svnadmin create
命令在 /usr/share/svn/repository 中创建了 Subversion 存储库。你没有做任何其他事情。在这种情况下,您可以通过以下方式访问您的存储库:
$ svn co file:///usr/share/svn/repository
请注意,URL 协议是file://
而不是svn://
。
SVNSERVE 访问
假设您的存储库位于计算机 alpha 上,而 alpha
上只有一个存储库网址格式为:
$ svn co svn://alpha
注意协议是svn://
,协议后面的第一件事就是机器名。 svnserve
是用于 Subversion 存储库的简单、易于设置和快速的服务器。即使我可以使用file://
,我也会使用它,只是因为我不必每次都提供完整的路径名。
如果您设置了自己的 Subversion 存储库,则可以使用 svnserve
来运行它。它默认使用端口 3690,并且只有一个 svnserve
实例可以在使用该端口的机器上运行(您可以更改端口,但它很乱,我现在不想进入)。
要使用 svnserve 服务器,你需要做一些非常小的事情:
设置svnserve.conf
文件:在您的存储库下是一个名为conf
的目录。此目录中有一个名为svnserve.conf
的文件。您需要找到以passed
开头的行并删除该行前面的井号(又名锐器或八角形):它在第 20 行附近。
只是改变:
### password-db = passwd
到:
password-db = passwd
**设置passwd file:** In the same directory as the
svnserve.conffile is another file called
passwd. Edit this file, to include an account for you. There's two examples in the file for
harryand
sally`。为你创造一个。这将是您的用户名(无空格)和密码。当您在 Subversion 中签出或提交文件时,您将使用它。
http 访问
您可以设置一个 Apache httpd Web 服务器(Internet 上最流行的 Web 服务器)也用作 Subversion 服务器。这是一个复杂的过程,我不会在这里讨论。但是,如果有人为您设置了它,则该 URL 将被分成几个部分:
http://
协议声明
服务器的名称
仓库使用的虚拟目录(可以有多个仓库)
您要签出的目录。
假设这台机器名为 alpha,并且您想从 foo
项目的存储库中签出:
$ svn co http://alpha/foo/trunk
我强烈建议您编辑您的问题并提供更多详细信息。例如,您的 Subversion 存储库位于何处?它在您当前的系统上吗?您是否设置了 Subversion 存储库,还是管理员为您设置了?向我们展示您收到的确切命令和错误消息。
否则,您的问题可能会被关闭。有关详细信息,请参阅 *** FAQ。
【讨论】:
【参考方案2】:其实我的 SVN 服务没有运行。因此,服务器没有响应。
【讨论】:
没错!就如此容易。 (svnserve -d -r /path/to/repo
)以上是关于尝试连接到 SVN 存储库时出错的主要内容,如果未能解决你的问题,请参考以下文章
TortiseSVN svn+ssh 错误:无法连接到 URL 上的存储库...网络连接意外关闭