我正在尝试使用git-svn镜像一个svn repo。
我在做
git svn clone http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind
我正在接受
Initialized empty Git repository in f:/gstest/WorldWind/.git/
RA layer request failed: PROPFIND request failed on '/svn/trunk/WorldWind': PROPFIND of '/svn/trunk/WorldWind': could not connect to server (http://worldwind31.arc.nasa.gov) at /usr/lib/perl5/site_perl/Git/SVN.pm line 148
如果我在不在代理服务器内的另一台计算机上执行相同操作,则可以。
我正在使用win7,并且已将$HTTP_PROXY
,http.proxy
(git中的全局一个)和$HOME/AppData/Roaming/Subversion/servers
设置为正确的代理。
在shell中执行svn checkout [repo adress]
。
在shell中执行wget [repo adress]
工作。
但不是git svn clone [repo adress]
有什么想法吗?我在这上面找到的大多数问题都指向了Subversion/servers
文件,但现在我编辑了那个,问题仍然存在......:/
答案 0 :(得分:30)
我遇到了同样的问题。
解决方案是找到正确的Subversion配置目录。至少在我的情况下,原生svn.exe
使用文件C:\Users\MYUSER\AppData\Roaming\Subversion\servers
,但git-svn
使用~/.subversion/servers
。我的意思是Git Bash shell中的这条路径~/.subversion/servers
,其中~
扩展到了正确的位置。以与~/.subversion/servers
使用的另一个相同的方式修改svn.exe
,然后git svn clone
应该有效。
简而言之,关键是找到要编辑的正确配置文件,因为在Windows中可能有多个。
答案 1 :(得分:11)
要让svn在linux上的代理后面工作,请使用代理详细信息更新文件~/.subversion/servers
。
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-host = YOURPROXY.com
http-proxy-port = YOURPORT
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
# http-compression = no
# http-auth-types = basic;digest;negotiate
# No http-timeout, so just use the builtin default.
# No neon-debug-mask, so neon debugging is disabled.
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem
我猜在Windows上有类似的配置......
答案 2 :(得分:5)
通常,仅环境变量:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
足以使git或git-svn正常工作。
但是得到我的是确切的网址 例如:
HTTP_PROXY=wwww.myproxy.company:8080
无效,但HTTP_PROXY=http://wwww.myproxy.company:8080
会奏效。 对HTTPS_PROXY
使用相同的内容,意思是相同的 http 地址(我首先尝试为HTTPS_PROXY
添加https网址,但这不是它的工作方式)< / p>
当然,如果您需要进行身份验证,您可以(至少出于测试目的)在其中添加您的登录名/密码:
HTTP_PROXY=http://myLogin:myPassword@wwww.myproxy.company:8080
它也有助于设置NO_PROXY
:localhost,*.company
。
因此,这个答案背后的主要内容是“仔细检查您使用的确切网址”(并使用简单的curl http://www.google.com
或wget
进行测试,可以使用msysgit包或来自{ {3}})
答案 3 :(得分:0)
在C:\ Users \ YOU \ .subversion \ servers中查看设置。您正在寻找此文件中的内容,例如......
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
http-proxy-host = 127.0.0.1
http-proxy-port = 3128
...这些设置适用于CNTLM。取消注释我上面没有注释的行和&amp;把你自己的详细信息放进去。有密码字段等。修复了我从Sourceforge获取东西的问题。是的,Sourceforge仍在那里。
此外,CNTLM非常适合通过NTLM,最前沿等。运行Fiddler2&amp;将规则设置为“自动验证”为true以获取CNTLM未命中的任何身份验证。 Chrome更新是Fiddler为我修复的一件事。
答案 4 :(得分:0)
对我而言,解决方案只是更改配置中的网址。 因为我无法访问现有的。 要检查我只是使用我的浏览器访问了repo url。 在使用禁用网址的情况下,我得到了'403 Forbidden'。