ChatGPT解决这个技术问题 Extra ChatGPT

如何为 svn 配置 HTTP 代理

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

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


M
M. Hamza Rajput

您看过常见问题解答条目 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


有谁知道是否有办法将其配置为尝试代理,如果代理不可用,则使用基本网络连接?我有一个代理在工作,但是当我在远程时,我希望能够使用 SVN 而不必打开配置文件并注释掉代理的行。
对我来说,下面的 Kimvais 解决方案有所帮助。我不得不取消注释“[global]”正下方的部分。最初,我在它们第一次出现时没有注释相同的行,这没有帮助。
@ErikMitchell:创建允许您切换的配置文件和脚本的两个版本。阅读您的操作系统文档,了解如何连接到网络发现机制并在您的笔记本电脑注意到它的位置时执行正确的脚本。
它对我有用,但密码仍以纯文本形式存储。我不希望我的密码像这样暴露。有没有办法解决这个问题?
s
serv-inc

You can find the instructions here。基本上你只需添加

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

到您的 ~/.subversion/servers 文件。


这是客户端配置。 “服务器”文件表示连接到服务器的设置。请参阅svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.1
“服务器”文件配置的最新 svnbook 链接 (v1.7):svnbook.red-bean.com/en/1.7/…
s
sdafjhjh

在 Windows 7 中,您可能需要编辑此文件

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

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

b
bahrep

有两种常见的方法:

在 /etc/.subversion/servers 或 %APPDATA%\Subversion\servers 文件中指定 http-proxy- 选项,

使用 --config-option 命令行选项在您运行的单个命令行中指定相同的 http-proxy- 选项。例如,svn checkout ^ --config-option servers:global:http-proxy-host= ^ --config-option servers:global:http-proxy-port=

如果您使用的是 Windows,也可以write http-proxy- options to Windows Registry。如果您需要通过组策略对象在 Active Directory 环境中应用代理设置,这将非常方便。


在 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 登录时重新创建。在我的工作网络和家庭网络之间帮助我很多!
u
user3092818

在 TortoiseSVN 中,您可以在 Settings=> Network 下配置代理服务器


如果能加个截图就太好了
P
Petesh

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

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

应该做的伎俩。大多数 http 库都会检查这个(和其他)环境变量。


可悲的是,Subversion 还不支持 http_proxy,而且可能永远不会。请参阅 subversion.tigris.org/issues/show_bug.cgi?id=1327 中的问题
感谢您的提醒。我很好奇:在 Ubuntu 14.10 下,http_proxy 约定似乎有效(SVN v1.8.10)。但它不在 Centos 6.6 (SVN v1.6.11) 下。我在 their changelog 中进行了搜索,但没有找到足够清楚的内容。知道它是否已永久修补?
svn 1.8 几乎完全改变了 http 网络的运作方式。添加对 http_proxy 的支持可能会产生副作用。