Vista系统中部署SVN服务端和客户端

 

公司的笔记本是WinXP系统,在其上部署SVN时非常顺利,很快搞定。

而自己的笔记本是Vista系统,在其上部署SVN的时候遇到了很大的问题,让我甚至想把Vista系统换装成XP。好在最后问题解决了,记录下来供人参考。

 

0、考虑到以后都要在自己这台Vista笔记本上导入、导出文件,所以固定IP是比较重要的,固定为:192.168.1.250,网关和DNS都是192.168.1.1,也就是路由器的IP。

 

1、首先要安装最新版本的Silksvn(要选择Complete安装,否则只有客户端而没有服务端程序),下载地址是:https://www.sliksvn.com/en/download,目前的版本是:1.6.3。接着安装TortoiseSVN,目前版本也是1.6.3。

 

2、安装完成后,创建新目录D:/Repository/svn_repos,在该目录中创建repository(TSVN->Create Repository Here)。

 

接着修改D:/Repository/svn_repos/conf/中的svnserve.conf和passwd文件,创建供我使用的用户名和密码。具体步骤此处略。

 

3、启动SVN Server服务,运行下列命令:

svnserve -d -r D:/Repository/svn_repos 

 

服务启动后, 用下列命令查看repository中的文件,得到了不同的结果:

  • svn ls svn://localhost——可以工作
  • 用TSVN的Repository Browser查看,URL输入svn://localhost——出错,错误提示:svn: Can't connect to host '192.168.1.250': No connection could be made because the target machine actively refused it.
  • svn ls svn://192.168.1.250(本机IP)——出错,错误提示:svn: Can't connect to host '192.168.1.250': No connection could be made because the target machine actively refused it.
  • svn ls svn://127.0.0.1——出错,错误提示:svn: Can't connect to host '192.168.1.250': No connection could be made because the target machine actively refused it.
  • 上面的这些URL在Winxp下都是可以使用的。

 4、用“netstat -a | find "3690" ”命令查看端口,发现SVN默认打开的端口3690未绑定到特定的IP,而是貌似IP丢失了,如下所示:

       TCP    [::]:3690              Simon-PC:0             LISTENING

 

    而同样的配置过程在WinXP上是能工作的,SVN打开的端口应当绑定到本机自身上,如下所示:

       TCP    Simon-PC:3690              Simon-PC:0             LISTENING 

 

上Google搜索相应的文章,说一种可能是IPv6造成的,建议关闭IPv6(在网络连接属性设置中,具体步骤略)。但是关闭IPv6后好像并不管用,svn ls svn://192.168.1.250和TSVN仍然是出现原来的错误,眼看在这台笔记本上不能作为server了,要不就重装系统到XP去。

 

5、看到了svn.exe程序的一个参数,--listen-host,试着绑定本机的固定IP,看能否奏效。使用如下的命令:

    svnserve -d -r D:/Repository/svn_repos --listen-host 192.168.1.250

 

    还好的确奏效,从本机使用如下命令可以看到Repos中的文件。第一次访问时要输入用户名和密码,在svnserve.conf和passwd文件中修改。

  • 用TSVN的Repository Browser查看,URL输入svn://192.168.1.250——工作正常
  • svn ls svn://192.168.1.250——工作正常
  • 从局域网的其他机子上访问svn ls svn://192.168.1.250——工作正常
  • 但是svn://localhost 和 svn://127.0.0.1都不能使用。

    用“netstat -a | find "3690" “命令查看SVN打开的端口,发现3690端口已经绑定到了特定的IP上,如下所示:

       TCP    192.168.1.250:3690     Simon-PC:0             LISTENING

 

6、分析:

可能是因为我固定了Vista机器的IP,造成必须将监听主机绑定到本机的固定IP上。如果我让机子动态获取IP,也许不用--listen-host参数也能够使用SVN了,但我没有验证这一想法。

 

==========================================

问题补充:

 

重装系统后,出现如下错误:期望文件系统格式在“1”到“3”之间;发现格式“4”。

 

这个问题是SilkSVN和Tortoise SVN之间版本不匹配造成的,将两者都安装到最新版本,则问题解决。

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值