尝试连接到SVN存储库时出错

时间:2012-06-14 07:10:02

标签: svn repository

当我尝试连接到某个远程服务器上的SVN存储库时,我收到错误。

  

无法连接到存储库URL'svn:// path / to / my / repository /'。   无法连接到主机。无法建立连接,因为目标计算机主动拒绝它。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:9)

Subversion使用几种方法来与Subversion服务器通信:

  • 使用httpd
  • 使用svnserve
  • 直接文件访问。

所以,我们需要知道的第一件事是你如何与你的Subversion存储库对话?你设置好了吗?如果您这样做,是否正在运行svnserve以充当服务器?或者,您是否将Apache httpd Web服务器配置为Subversion存储库服务器?如果你没有设置,谁做了?

让我们来看看基础知识:

文件访问

您使用svnadmin create命令在/ usr / share / svn / repository中创建了Subversion存储库。你没有做任何其他事情。在这种情况下,您将访问您的存储库:

$ svn co file:///usr/share/svn/repository

请注意,网址协议为file://而非svn://

SVNSERVE Access

假设您的存储库位于计算机 alpha 上,并且 alpha

上只有一个存储库

网址格式为:

$ svn co svn://alpha

请注意,协议是svn://,协议之后的第一件事就是机器名称。 svnserve是Subversion存储库的一个简单,易于设置和快速的服务器。即使我可以使用file://,我也会使用它,因为我不必每次都给出完整的路径名。

如果您设置自己的Subversion存储库,则可以使用svnserve来运行它。默认情况下它使用端口3690,并且只有一个svnserve实例可以在使用该端口的计算机上运行(您可以更改端口,但它很混乱,我现在不想进入)。

要使用svnserve服务器,您需要做一些非常小的事情:

  • 设置svnserve.conf文件:在您的存储库下面是一个名为conf的目录。在此目录中有一个名为svnserve.conf的文件。你需要找到以passed开头的行,并删除行前面的井号(也就是尖锐物或octothorps):它在#20行附近。

只需改变:

### password-db = passwd

为:

password-db = passwd
  • **设置passwd file:** In the same directory as the svnserve.conf file is another file called passwd . Edit this file, to include an account for you. There's two examples in the file for哈里and sally`。为你创造一个。这将是您的用户名(无空格)和密码。当你在Subversion中签出或提交文件时,你将使用它。

http Access

您可以将Apache httpd Web服务器(Internet上最受欢迎的Web服务器)设置为也可用作Subversion服务器。这是一个复杂的过程,我不会进入这里。但是,如果有人为您设置了该URL,则该URL将分为几个部分:

  • http://协议声明
  • 服务器名称
  • 用于存储库的虚拟目录(可以有多个存储库)
  • 您要检出的目录。

假设该机器名为 alpha ,您想要从foo项目的存储库中签出:

$ svn co http://alpha/foo/trunk

我强烈建议您编辑问题并提供更多详细信息。例如,您的Subversion存储库位于何处?它在你当前的系统上吗?您是否设置了Subversion存储库,或管理员是否为您执行了此操作?向我们展示您正在获得的确切命令和错误消息。

否则,您的问题可能会被关闭。有关详细信息,请参阅Stackoverflow FAQ

答案 1 :(得分:4)

实际上我的SVN服务没有运行。因此,服务器没有响应。