我一直在尝试使用git-svn通过HTTPS访问Subversion存储库时遇到一些问题。
当我输入git svn init --username=<my username> --trunk=https://<host>/<project>/trunk
时,收到以下错误消息:
RA layer request failed: PROPFIND request failed on '/<project>/trunk':
PROPFIND of '/<project>/trunk': SSL negotiation failed: SSL error: unknown
protocol (https://<host>) at C:\Program Files (x86)\Git/libexec/git-core\git-svn
line 2299
还有几点需要注意:
git config http.proxy
指定了代理服务器。git config http.sslVerify=false
。但是,这没有任何区别。还有其他我没试过的东西吗?
答案 0 :(得分:9)
为了扩展其他两个答案(并解释为什么你看到你所看到的),git svn
(作为msysgit的一部分)是针对svn 1.4.6构建的:
C:\> git svn --version
git-svn version 1.7.7.1.msysgit.0 (svn 1.4.6)
请注意,1.4.6是......好吧...... (和hasn't even been supported since 1.6 was released在2009年。)
使用您的subversion安装 msysgit的git-svn
不 - 因此能够使用已安装的svn
结帐(不幸的是)并不表示问题。
关于msysgit升级到更新的subversion有some bug reports,但看起来还没有实现。
您是否尝试过cygwin的git-svn
?
答案 1 :(得分:1)
答案 2 :(得分:1)
提供稍微简洁的答案,kan is correct。您看到这个的原因是您的上游存储库未正确配置SVN + HTTPS。这可能是由于服务器端的配置错误,或者可能是由于服务的SVN协议与客户期望的不同而导致的。
勘误表为此问题提供了正确的调试方案。如果您可以控制相关的SVN存储库,请确保its HTTPS configuration is working properly继续将其用作上游存储库。如果您希望更改用于进一步排除连接故障的协议或URL(例如,尝试通过HTTP或SSH),here's the guide you'll need。
答案 3 :(得分:0)
我终于发现了如何让它发挥作用。答案来自this thread。
当您通过代理连接到Subversion服务器时,git-svn不使用.gitconfig中的代理设置,也不使用您在TortoiseSVN中配置的设置。相反,它会查看[global]
的{{1}}部分。
将我们的代理服务器设置添加到此文件允许我连接到外部Subversion服务器。