当我尝试使用 Tortoise 连接到我的 SVN 服务器时:
svn://localhost/
Tortoise 告诉我:“无法连接到主机‘localhost’。无法建立连接,因为目标机器主动拒绝。”
我怎样才能解决这个问题?
我正在尝试在本地 PC 上设置 Subversion 服务器以供个人使用。我运行的是 Windows Vista,安装了 SlikSVN 和 TortoiseSVN。之前一切都运行正常,但我发现无法合并(!),显然是因为 SVN 客户端和服务器版本不匹配。无论如何...我现在有以下设置:
我使用 svnadmin create 创建了一个存储库;它位于C:\svnGrove
C:\svnGrove\conf\svnserve.conf(省略#注释):
[general]
anon-access=read
auth-access=write
password-db=passwd
#authz-db=authz
realm=svnGrove
C:\svnGrove\conf\密码:
[users]
myname=mypass
我的 Subversion Server 服务指向:
C:\Program Files\SlikSvn\bin\svnserve.exe --service -r C:\svnGrove
它显示 TCP/IP 服务是依赖项。我也尝试从命令行运行 svnserve,结果类似。
TortoiseSVN 中的“关于”选项提供以下内容:
TortoiseSVN 1.6.10, Build 19898 - 32 Bit , 2010/07/16 15:46:08
Subversion 1.6.12,
apr 1.3.8
apr-utils 1.3.9
neon 0.29.3
OpenSSL 0.9.8o 01 Jun 2010
zlib 1.2.3
以下是来自命令行上的 svn --version(不确定为什么它说 CollabNet,CollabNet 是我之前设置的 SVN 二进制文件。卸载程序无法正常删除所有内容):
svn, version 1.6.12 (SlikSvn/1.6.12) WIN32
compiled Jun 22 2010, 20:45:29
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme
我禁用了 Windows 防火墙和 CA Internet Security,但问题仍未解决。
编辑
卸载后,旧版本的svnserve仍然设置为服务,指向该路径:
C:\Program Files\Subversion\svn-win32-1.4.6\bin
我编辑了服务的注册表项以指向新路径(如上所示)。无论我将 svnserve 作为服务运行,还是使用 -d,我都没有在 netstat -anp tcp 生成的列表中看到该端口号的条目。
答案1
使用标准默认值,Hudson 无法在 Windows 7 64 位上匿名连接到 svnserve。在命令行中添加以下参数成功:
svnserve -d --listen-port 3690 --listen-host 127.0.0.1 -r svn-repos
答案2
在 Windows 7 Professional 64 位上,使用 SlikSvn,我可以连接到svn://localhost/
,但不能连接到svn://127.0.0.1/
。
然后我发现我可以连接到svn://[::1]/
我通过添加解决
::1 svn
到C:\Windows\System32\drivers\etc\hosts
。
现在,svn://svn/
运行良好。
另外,命令:
netstat -anp tcp
不会显示 IPv6 信息。要查看 IPv6 连接,请使用:
netstat -anp tcpv6
因此,要查看端口 3690 上是否有监听器,请使用:
netstat -an | findstr "3690"