Mercurial:是否可以避免任何代理设置?

Mercurial: Is possible to avoid any proxy settings?

我想知道的是,是否有机会避免通过环境变量(例如 etc/envinroment)指定的任何类型的代理设置,以便让 mercurial(v4.2) 在 Ubuntu 16.04 直接与 repo 中 hgrc 文件中指定的主机通信。

我尝试在 etc/environment.hgrc 文件中使用 no_proxy 指令(我的存储库的一般文件和本地文件)。 我什至试图从我的 OS 中删除代理条目,令人难以置信的是,mercurial 仍在使用它:

pulling from http://boo.baa/repo
using http://boo.baa/repo
proxying through http://10.0.8.251:800
http auth: user jdoe, password not set
sending capabilities command
abort: HTTP Error 504: Gateway Time-out

我发现让这个工作的唯一方法是在没有任何代理设置的情况下重新启动我的 OS,这对我来说很荒谬。

感谢任何帮助。

您可以尝试将此添加到 .hgrc:

[http_proxy]
no = bitbucket.org

关于no_proxy设置,你应该得到相同的结果。 像这样:

no_proxy="bitbucket.org" hg incoming

如果您仍然遇到问题,您应该更好地说明您的代理是如何设置的。因为,在 Ubuntu 16.04 和 Mercurial 4.0.2 上,它可以立即运行。

还有一件事,Mercurial 路径(请参阅命令 hg paths)。 如果您的存储库类似于:

default = https://host.com.something/repo

一切正常,但如果您使用的是 SSH:

default = ssh://user@host.com.something/repo

那么,我怀疑我的回答是否能解决您的问题。