有的时候我们不能直接访问代码服务器,可以考虑通过代理的方式访问。
1。环境
代码服务器端:SVN server: windows server 2003, + Apache 以http形式访问.
代理服务器:windows server 2003, 代理软件 CCProxy
客户端: TortoiseSVN
2.实现
代码服务器端: 此处省略了怎么安装svn代码服务器,如需帮助请看svn帮助文档,或者访问:HOWTO: Subversion for Windows with Apache server
假设我们的代码服务器可以通过这个地址访问:http://test.codeserver.com:81/Project1
注意:很多时候以这种形式访问的配置更加方便:svn://test.codeserver.com/Project1 (默认3690端口),但是它使用的是svn协议访问,代理服务器支持这个协议吗? 如果不支持,以svn协议形式通过代理访问不成立。
代理服务器:设置代理服务器CCProxy,开放http 81端口
客户端: TortoiseSVN
客户端必须能访问代理服务器,在安装了 TortoiseSVN的客户端任何文件夹里面点击右键,设置-->网络--> 允许代理 设置代理服务器名称和端口。
或者点击那个配置页面的编辑(edit) 按钮,在打开的文件里面,找到[global]节点
然后添加
http-proxy-host = 172.100.1.28 代理ip
http-proxy-port = 8080 代理端口
总结:
以上是我配置的环境,客户端在xp,server 2008上试过,都可以。
做这个的时候花了好些时间,配置subversion 服务器的文章有很多,配置代理服务器的也有很多,可是如果一开始使用的是svn协议访问,就注定接下去的努力都是徒劳的。要想使用svn代理, 可以使用如下配置:
subversion + Apache + http
CCProxy
TortoiseSVN
曾试图用 svn + ssh 的方式取代Apache + http,期间要使用(TortoisePlink.exe,Putty等等), 未果。
希望对大家有所帮助。