git 1.8客户端和旧的git服务器之间的兼容性问题

D.W*_*.W. 17 git version-control backwards-compatibility

我正在使用远程git托管服务(Svnrepository.com).我可以在使用git 1.7.x作为客户端时成功访问git存储库,但是一旦我将客户端升级到git 1.8.x,我就无法再推送:推送挂起.托管服务的支持声称这是因为他们使用的是不支持1.8版的旧版git服务器.

  1. 如何使用git 1.8作为客户端,使用旧的git服务器?
  2. 有解决方法吗?
  3. 有谁知道确切的不兼容性是什么?
  4. 来自支持的声明是否合理?出于某种原因,我认为git具有出色的向后/向前兼容性,并且没有理由担心升级会破坏git
  5. 1.7-> 1.8转换中是否存在一些已知的不相容性会导致这种情况?

根据要求,这里有一个跟踪GIT_TRACE=1.看起来它在运行时挂起git-http-push:

$ GIT_TRACE=1 git push -v
trace: built-in: git 'push' '-v'
Pushing to https://secure2.svnrepository.com/redacted/redacted/
trace: run_command: 'git-remote-https' 'origin' 'https://secure2.svnrepository.com/redacted/redacted/'
trace: run_command: 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git' 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: run_command: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
Run Code Online (Sandbox Code Playgroud)

它在最后一行输出后挂起.(如果你愿意,你也可以看到一丝这里我设置都GIT_TRACE=1GIT_CURL_VERBOSE=1.)

lin*_*dan 1

想要使用更新版本的 git 运行是可以理解的,但是如果您选择的主机不运行当前版本,为什么不切换主机呢?仅从名称来看,Svnrepository.com 听起来并不像是他们专注于 Git 托管。如果您无法更改托管服务,那么可以将 git1.7 安装在您的路径之外的某个位置,通常安装 1.8 吗?然后您可以将 1.7 版本链接到类似的内容oldgit,当您需要使用 Svnrepostiory.com 时,您的命令将类似于oldgit add, oldgit commit, oldgit push