有很多次使用mercurial检出google code中https链接的代码时,都会得到下面的错误信息:
Connection reset by peer
通常情况下,将https改成http会顺利检出。但今天发现会有很多文件和子项目不会被检出。
我估计这个问题是由GFW造成的(因此不在中国的人大抵不会遇到)。作为一个正常的中国人,我有一条SSH隧道。在明磊兄的帮助下,用tsocks最终搞定了这个问题。
在Ubuntu下,直接使用下面的命令安装tsocks:
sudo apt-get install tsocks
接下来修改其配置文件:
sudo vim /etc/tsocks.conf
修改以下两行:
server_type = 5 #version number of SOCKS server_port = 1080 #port of SOCKS service
这样,在开启了SSH隧道以后,就可以用tsocks来检出代码了:
tsocks hg clone https://...