2024年4月23日发(作者:)

svn客户端无法连接SVN服务器,主机积极据绝

svn客户端无法连接SVN服务器,主机积极据绝这是我最初配置

SVN的时也遇到的一个问题:

后来google了下相关资料,自已解决:

当出现'目标机器积极拒绝,无法连接'或svn: Can't connect to

host ...时,请依次检查下面各项

1,服务器有没有运行,有没有打开相应端口

如果服务器是svnserve,检查有没有运行svnserve,有没有打开

3690端口

如果服务器是apache,检查apahce是否运行,是否打开80端

检查时可以在服务器运行netstat -na看看相应端口是否在

LISTEN

2,防火墙有没有开放相应端口

3,客户端是否可以连接服务器的相应端口

使用命令telnet 服务器IP 相应端口

如:telnet 192.168.0.1 3690

这是网上找到的相关资料:

我的问题在于,通过http连接可以,但svn://localhost/就不可

以,客户端程序tortoisesvn无法连接!这个时候,主要原因在于没启

动svnserve服务器!

相关资料:

安装独立服务器 SVNServer

环境

OS:Windows XP SP2

Web:Apache 2.2.6

SVN:svn-win32-1.4.6

一、准备工作

1、获取 Subversion 服务器程序

到官方网站()下载最新的服务器安装程序。目前最新的是1.4.6

版本,具体下载地址在:

servlets/ProjectDocumentList?folderID=8100&expandFolder=8

100&folderID=91,注意找 for apache 2.2.x 版本的。

2、获取 TortoiseSVN 客户端程序

从官方网站 获取最新的 TortoiseSVN 。TortoiseSVN 是一个客户

端程序,用来与 subvers 服务器端通讯。Subversion 自带一个客户端

程序 ,但 TortoiseSVN 更好操作,提高效率。

二、安装服务器端和客户端

首先安装 Apache 2.2.6 ,具体安装方法大家参考相关资料,或者

参看我写的《Windows下安装Apache 2.2.x》。

其次安装 Subversion(以下简称SVN)的服务器端和客户端。下

载下来的服务器端是个 zip 压缩包,直接解压缩即可,比如我解压到

E:subversion 。客户端安装文件是个 exe 可执行文件,直接运行按提

示安装即可,客户端安装完成后提示重启。

三、建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库

(Repository)。版本库可以看作是服务器上集中存放和管理数据的

地方。

开始建立版本库。首先建立 e:svn 空文件夹作为所有版本库的根

目录。然后,进入命令行并切换到subversion的bin目录。输入如下

命令:

svnadmin create E:svnrepos1

此命令在 E:svn 下建立一个版本库 repos1 。repos1 下面会自动

生成一些文件夹和文件。

我们也可以使用 TortoiseSVN 图形化的完成这一步:

先建立空目录 E:svnrepos1 ,注意一定是要空的。然后在

repos1 文件夹上“右键->TortoiseSVN->Create Repository

”,然后可以选择版本库模式,这里使用默认的FSFS即可,然

后就创建了一系列文件夹和文件,同命令行建立的一样。

四、运行独立服务器

此时 subversion 服务还没有开始,只是通过它的命令建立了版本

库。继续在刚才的命令窗口输入:

--daemon

svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)

选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退

出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。为了验

证svnserve正常工作,使用TortoiseSVN -> Repo-browser 来查看

版本库。在弹出的 URL 对话框中输入:

svn://localhost/svn/repos1

点 OK 按钮后就可以看见 repos1 版本库的目录树结构了,只不过

这时 repos1 是个空库。

你也可以使用--root选项设置根位置来限制服务器的访问目录,

从而增加安全性和节约输入svnserve URL的时间:

--daemon --root drive:pathtorepository

以前面的测试作为例,svnserve 将会运行为:

--daemon --root e:svn

然后TortoiseSVN中的版本库浏览器URL缩减为:

svn://localhost/repos1

五、配置用户和权限

用文本编辑器打开E:svnrepos1conf目录,修改

将:

# password-db = passwd

改为:

password-db = passwd

即去掉前面的 # 注释符,注意前面不能有空格。

然后修改同目录的passwd文件,增加一个帐号:

将:

[users]

# harry = harryssecret

# sally = sallyssecret

增加帐号:

[users]

#harry = harryssecret

#sally = sallyssecret

test = test

六、初始化导入

下面就是将我们的数据(项目)导入到这个版本库,以后就由版

本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至

我们自己丢失、改错数据时版本库也能帮我们找回数据。

比如,我在 d:wwwroot 下有个 guestbook 文件夹,里面存放的

是我编写的留言簿程序。在此文件夹上“右键 -> TortoiseSVN ->

” ,在弹出对话框的“URL of repository”输入

“svn://localhost/repos1/guestbook”。在“Import message”

输入“导入整个留言簿”作为注释。

点 OK 后要求输入帐号。我们在用户名和密码处都输入 test 。完

成后 guestbook 中的内容全部导入到了

svn://localhost/svn/repos1/guestbook 。

我们看到在 e:svnrepos1 没有任何变化,连个 guestbook 文件

夹都没有建立,唯一的变化就是e:svnrepos1容量变大了。实际上

我们源guestbook中的内容已经导入 repos1 版本库了,源

guestbook 文件夹可以删除了。

需要注意的是,这一步操作可以完全在另一台安装了

TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是

133.96.121.22,则

七、基本操作流程

1、取出(check out)

取出版本库到一个工作拷贝:

来到任意空目录下,比如在f分区建立一个空文件夹 f:work 。

“右键 -> SVN Checkout”。在“URL of repository”中输入

“svn://localhost/svn/repos1/guestbook”,这样我们就得到了一

份 guestbook 中内容的工作拷贝。

2、存入(check in)/提交(commit)

在工作拷贝中作出修改并提交:

在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后

“右键 -> ”。这样我们就把修改提交到了版本库,版

本库根据情况存储我们提交的数据。

在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可

以看到对这个文件所有的提交。在不同的 revision 条目上“右键 ->

Compare with working copy”,我们可以比较工作拷贝的文件和所

选 revision 版本的区别。

URL部分输入的内容就是

“svn://133.96.121.22” 。