如何为svn配置HTTP代理


96

我想从存储库http://code.sixapart.com/svn/perlbal/中检查代码。我只能通过设置代理来访问存储库URL。我想如果我想通过svn从相同的URL获取代码,我也需要配置代理。你们中有谁能告诉我如何在svn中配置HTTP代理吗?

顺便说一句,我svn在Linux下使用命令行客户端。

Answers:


126

您是否看到了FAQ条目,如果我在代理服务器后面怎么办?

...编辑您的“服务器”配置文件以指示要使用的代理。文件位置取决于您的操作系统。在Linux或Unix上,它位于目录“〜/ .subversion”中。在Windows上,它位于“%APPDATA%\ Subversion”中。(尝试使用“ echo%APPDATA%”,注意这是一个隐藏目录。)

对我而言,这涉及取消注释并设置以下行:

#http-proxy-host=my.proxy
#http-proxy-port=80
#http-proxy-username=[username]
#http-proxy-password=[password]

有谁知道是否有一种方法可以配置它尝试代理,如果代理不可用,可以使用基本网络连接吗?我有一个代理在工作,但是当我处于远程状态时,我希望能够使用SVN,而不必打开配置文件并注释掉代理行。
Erik Mitchell '04

1
对我来说,下面的Kimvais解决方案有所帮助。我不得不取消对“ [global]”下面的部分的注释。最初,我在最初出现时没有评论相同的行,但没有帮助。
Devesh

@ErikMitchell:创建两个版本的配置文件和脚本,以供您切换。阅读您的操作系统文档,了解如何在笔记本电脑发现位置时使用网络发现机制并执行正确的脚本。
2014年

2
它对我有用,但是密码仍然以纯文本格式存储。我不希望这样泄露密码。有没有办法勾勒出这个轮廓?
2014年


11

在Windows 7中,您可能必须编辑此文件

C:\ Users \ <用户名> \ AppData \ Roaming \ Subversion \ servers

[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128

9

有两种常见方法:

如果您使用的是Windows,则还可以http-proxy-选项写入Windows注册表。如果您需要通过组策略对象在Active Directory环境中应用代理设置,这将非常方便。


1
在Linux中,您可以使用alias svn-my-proxy='svn --config-option ...'可以使用svn-my-proxy co http://svn/repo/trunk。这样,您可以根据当时计算机所处的网络,轻松地在代理(svn-my-proxy co)和非代理(svn co)配置之间切换。您可以将alias命令添加到您的命令中,~/.bashrc以在下次bash登录时重新创建。在工作网络和家庭网络之间对我有很大帮助!
德鲁·安德森


-2

大多数* nixen在执行Web请求时理解环境变量'http_proxy'。

export http_proxy=http://my-proxy-server.com:8080/
svn co http://code.sixapart.com/svn/perlball/

应该可以。大多数http库都会检查此(和其他)环境变量。


25
可悲的是,Subversion尚不支持http_proxy,而且可能永远也不会。看到这个问题subversion.tigris.org/issues/show_bug.cgi?id=1327
斯特凡Lasiewski

4
那只是史诗般的。很高兴知道这是事实,但更好地知道这样做的正确方法
Petesh 2011年

3
感谢您的注意。我很好奇:在Ubuntu 14.10下,该http_proxy约定似乎有效(SVN v1.8.10)。但是它不在Centos 6.6(SVN v1.6.11)下。我搜索了他们的变更日志,但没有找到足够清楚的内容。知道是否已对其进行永久性修补吗?
Anto

3
svn 1.8改变了http网络的运行方式。添加对http_proxy的支持可能是一个副作用。
Petesh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.