如何在Windows中使Tortoisehg的代理服务器设置生效?

8
我在Windows系统下的tortoisehg的“全局设置”中设置了代理服务器。当我试图连接到bitbucket代码库时,tortoisehg生成的命令行是hg clone --debug-- http://bitbucket.org/<repo路径>
控制台显示如下:
using http://bitbucket.org/<path to repo>
proxying through http://172.19.6.47:8080
http auth: user <username>, password not set
sending capabilities command

我还运行了Wireshark来监视流量。令我惊讶的是,流量直接传输到Bitbucket。我认为它应该先将数据包发送到代理服务器。这是否意味着我的代理服务器无效?我该怎么做才能使其生效?

2个回答

4
您的mercurial.ini文件应该有以下这样的部分:
[http_proxy]
host = aproxy.somedomain.com:1234

请确认它是否存在。也许没有正确保存?

我按照上述方式创建了一个虚假条目,并尝试进行拉取,但立即出现了连接代理服务器失败的错误。


我使用tortoisehg GUI编辑了文件,并在阅读生成的mercurial.ini后确认结果正确。但是我清楚地看到TCP SYN直接发送到bitbucket,我的代理设置被忽略了。当然,由于我没有直接的互联网连接,我看到了超时错误(URLError:[Errno 10060])。你是在Windows上使用tortoisehg吗?你使用的mercurial版本是什么? - bei
我正在Windows上使用最新的TortoiseHg 2.4.2。 - Mark Tolonen

3
以下两个网页都有正确的答案。
(1) http://d.hatena.ne.jp/falkenhagen/20091007/1254909363 (2) http://www.jameswampler.com/2010/06/10/configure-mercurial-hg-to-use-a-proxy-server/ 来自第二个链接,他说:
由于我的笔记本电脑大部分时间都在公司防火墙后面,所以当尝试使用 hg push/pull 连接 bitbucket.org 时会失败,因为它没有命中代理服务器。要设置 Mercurial 使用代理服务器,请编辑仓库 .hg 文件夹中的 hrgc 文件并添加以下内容:
[http_proxy]
host = foo.bar:8000
passwd = password
user = username

只需将值更改为您的代理服务器主机名和端口、用户名和密码即可。


虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅链接的答案可能会失效。- 来自审查 - Damian Kozlak
@DamianKozlak,我已经修改了答案,请您检查一下。 - mining
好的,这样好多了。 - Damian Kozlak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接