我一直在遇到一些问题,试图通过使用git-svn的HTTPS访问Subversion存储库。通过代理服务器通过HTTPS使用git-svn时出现未知协议错误
当我键入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
几个其他点要注意:
- 我使用msysgit 1.7.9.0在Windows 7 64位系统。我还安装了Subversion 1.7.1命令行客户端和TortoiseSVN 1.7.1。
- 我通过代理服务器进行连接,该代理服务器通过HTTP_PROXY环境变量和
git config http.proxy
指定。 - 我可以在同一台机器上通过HTTPS克隆Github存储库而不会出现问题。
- 普通的Subversion客户端签出相同的项目没有问题。我也能够使用Mercurial和hgsubversion成功克隆它,尽管它确实无法识别服务器的SSL证书,所以我必须在我的mercurial.ini文件中明确指定它。正因为如此,我使用
git config http.sslVerify=false
。但是,这没有任何区别。 - 单向解决方法(如使用svnsync(如建议的here)不是一个选项。
还有什么我还没试过?
您能否首先验证您是否可以使用普通的颠覆客户端检出该项目,以排除颠覆本身的任何问题? – 2012-03-23 15:36:27
我已经这么做了 - Subversion客户端没有问题地检查项目。 – jammycakes 2012-03-23 15:38:50
James,'openssl s_client -connect host:443'请为了清楚 – 2012-03-26 21:01:03