git - 通过代理服务器通过 HTTPS 使用 git-svn 时出现未知协议(protocol)错误

标签 git svn ssl git-svn

我在尝试使用 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

还有几点需要注意:

  1. 我在 Windows 7 x64 上使用 msysgit 1.7.9.0。我还安装了 Subversion 1.7.1 命令行客户端和 TortoiseSVN 1.7.1。
  2. 我通过代理服务器连接,我通过 HTTP_PROXY 环境变量和 git config http.proxy 指定了它.
  3. 我能够在同一台机器上通过 HTTPS 毫无问题地克隆 Github 存储库。
  4. 普通的 Subversion 客户端检查同一个项目没有问题。我也已经能够使用 Mercurial 和 hgsubversion 成功克隆它,尽管它确实无法识别服务器的 SSL 证书,所以我必须在我的 mercurial.ini 文件中明确指定它。因此,我正在使用 git config http.sslVerify=false .但是,这没有任何区别。
  5. 使用 svnsync(例如建议的 here)等单向解决方法不是一种选择。

还有什么我没试过的吗?

最佳答案

为了扩展其他两个答案(并解释为什么你看到你所看到的),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 是……嗯……老了。 (以及 2009 年的 hasn't even been supported since 1.6 was released。)

msysgit 的 git-svn 使用您安装的 subversion - 因此能够使用您安装的 svn checkout (不幸的是)不是指示性的的问题。

some bug reports关于升级到更新的 msysgit 颠覆,但似乎那些还没有实现。

你试过cygwin的git-svn吗?

关于git - 通过代理服务器通过 HTTPS 使用 git-svn 时出现未知协议(protocol)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841547/

相关文章:

linux - 可以克隆 ViewVC SVN 存储库吗?

java - 在 Linux 浏览器(或 Linux 命令行)中为 Java 证书信任库导出 SSL 证书

asp.net - 使用自签名证书在不同服务器上的 Web 应用程序和 Web API 之间进行通信

git - 使用 http 客户端直接从 gitolite 托管的 git 存储库访问文件

java - 创建 ANT 脚本以在 Tavis-CI 上构建并在提交时运行 JUnit 测试

svn - svn如何以其他用户身份提交?

ssl - 很多关于 http : TLS handshake error from <ip>:<port>: remote error: tls: bad certificate 的错误

git - 从 Github checkout 分支,无需克隆整个仓库,也无需 Git

git - 如何将 Git 存储库转换为嵌套在另一个(父)Git 存储库中的子模块?

SVN合并失败