我一直在遇到一些問題,試圖通過使用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