【发布时间】:2010-12-02 05:57:06
【问题描述】:
我想检查存储库 http://code.sixapart.com/svn/perlbal/ 中的代码。我只能通过设置代理来访问存储库 url。我想如果我想通过 svn 从同一个 URL 获取代码,我也需要配置一个代理。那么你们中的任何人都可以告诉我如何在 svn 中配置 HTTP 代理吗?
顺便说一下,我在Linux下使用命令行svn客户端。
【问题讨论】:
我想检查存储库 http://code.sixapart.com/svn/perlbal/ 中的代码。我只能通过设置代理来访问存储库 url。我想如果我想通过 svn 从同一个 URL 获取代码,我也需要配置一个代理。那么你们中的任何人都可以告诉我如何在 svn 中配置 HTTP 代理吗?
顺便说一下,我在Linux下使用命令行svn客户端。
【问题讨论】:
您是否看过常见问题解答条目What if I'm behind a proxy??
... 编辑您的“服务器”配置文件以指示要使用的代理。文件位置取决于您的操作系统。在 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]
在命令行: nano ~/.subversion/servers
【讨论】:
You can find the instructions here。基本上你只需添加
[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128
http-proxy-compression = no
到您的~/.subversion/servers 文件。
【讨论】:
在 TortoiseSVN 中,您可以在 Settings=> Network 下配置代理服务器
【讨论】:
有两种常见的方法:
Specify http-proxy- options in your /etc/.subversion/servers or %APPDATA%\Subversion\servers file,
使用--config-option command-line option 在您运行的单个命令行中指定相同的http-proxy- 选项。例如,
svn checkout ^
--config-option servers:global:http-proxy-host=<PROXY-HOST> ^
--config-option servers:global:http-proxy-port=<PORT> <REPO-URL> <LWC-DIR>
如果您使用的是 Windows,也可以write http-proxy- options to Windows Registry。如果您需要通过组策略对象在 Active Directory 环境中应用代理设置,这将非常方便。
【讨论】:
alias svn-my-proxy='svn --config-option ...'来使用svn-my-proxy co http://svn/repo/trunk。这使您可以轻松地在代理 (svn-my-proxy co) 和无代理 (svn co) 配置之间切换,具体取决于您的计算机当时所在的网络。您可以将 alias 命令添加到您的 ~/.bashrc,以便在下次 bash 登录时重新创建。在工作网络和家庭网络之间帮助我很多!
在 Windows 7 中,您可能需要编辑此文件
C:\Users\\AppData\Roaming\Subversion\servers
[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128
【讨论】:
大多数 *nixen 在执行 Web 请求时理解环境变量“http_proxy”。
export http_proxy=http://my-proxy-server.com:8080/
svn co http://code.sixapart.com/svn/perlball/
应该可以解决问题。大多数 http 库都会检查这个(和其他)环境变量。
【讨论】:
http_proxy 约定似乎有效(SVN v1.8.10)。但它不在 Centos 6.6 (SVN v1.6.11) 下。我在their changelog 中进行了搜索,但没有找到足够清楚的信息。知道它是否已永久修补?