17

I'm using a remote git hosting service (Svnrepository.com). I'm able to access the git repositories successfully while using a git 1.7.x as the client, but as soon as I upgrade the client to git 1.8.x, I am no longer able to push: the push hangs. The hosting service's support claims that this is because they are using an older git server that does not support version 1.8.

  1. How do I use git 1.8 as a client, with an older git server?
  2. Is there a workaround?
  3. Does anyone know what the exact incompatibility is?
  4. Does the statement from the support even sound plausible? For some reason I had thought that git had excellent backward/forward compatibility and there was no reason to fear that upgrading would break git
  5. Is there some known incompatibility introduced in the 1.7->1.8 transition that would cause this?

By request, here is a trace with GIT_TRACE=1. It looks like it hangs while running 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'

It hangs after the last line of output. (If you prefer, you can also look at a trace where I've set both GIT_TRACE=1 and GIT_CURL_VERBOSE=1.)

Community
  • 1
  • 1
D.W.
  • 3,382
  • 7
  • 44
  • 110
  • 2
    I think you are right because I don't think that there will be changes in git repo formats, only commands could be different and in this case `git push` should work, anyways, I'm not that much expert on git but you may search on Google, [Google search result](https://www.google.com/search?q=git+backwards+compatibility), all the best. – The Alpha Feb 18 '13 at 00:11
  • If you really believe that's true--and it could be that they accidentally introduced a regression--you should report it to the git mailing list (). They definitely want to know these things, and they'll get it fixed. – John Szakmeister Feb 18 '13 at 00:31
  • 2
    Please also add to your question what the actual output is when you try to push. "No longer able to push" is very generic and doesn't allow people to help you with the problem. – Nevik Rehnel Feb 18 '13 at 06:33
  • 4
    Try adding "GIT_TRACE=1 " to the front of your push command to see what command it's actually trying to run when it hangs. – jdsumsion Jun 14 '13 at 12:07
  • @jdsumsion, hey, cool, great suggestion! I've edited the question to add a trace with `GIT_TRACE=1`. The push operation seems to be hanging when running `git-http-push`. I don't know if that helps us at all, though... – D.W. Jun 14 '13 at 17:18
  • 3
    I have just set up an Ubuntu virtual machine with Git 1.7.9.5 and successfully pushed to a repository on that VM over HTTP using Git 1.8.3.1, which suggests to me that this problem is specific to svnrepository.com (or requires more specific Git versions than just 1.7.x on the server and 1.8.x on the client). – georgebrock Jun 25 '13 at 12:19

2 Answers2

1

Wanting to run with a more up to date version of git is understandable, but if you host of choice doesn't run a current version, why don't you switch hosts? From the name alone, Svnrepository.com, doesn't sound like they focus on Git hosting. If the hosting service isn't something you can change, what about installing git1.7 somewhere outside your path and 1.8 normally. Then you could link the 1.7 version to something like oldgit and when you need to work with Svnrepostiory.com your commands would be like oldgit add, oldgit commit, oldgit push.

linuxdan
  • 4,476
  • 4
  • 30
  • 41
1

Svnrepository.com page says 'Standard features: Git over SSH' and it seems that you are accessing over http: which is probably good for read-only access. If you look at the text file .git/config you should see a section [remote "origin"] and the 'url' value can be set to the format host:/path/on/remote/machine which implies an SSH connection for Git

karmakaze
  • 34,689
  • 1
  • 30
  • 32