When trying to clone ANY repository via https from github, we get:
git clone https://github.com/rails/rails.git
Cloning into rails...
remote HEAD refers to nonexistent ref, unable to checkout
Our server is behind a proxy. We have defined http_proxy and https_proxy appropriately. All other functions are working.
git version is 1.7.5.4
Server is Ubuntu Server 11.04.
Note that since this happens with EVERY github repository we’ve tried, we strongly believe it’s not a problem with the refs in the repository. We’ve tried such well-known repositories as jquery and rails – if the problem were in those repositories there’d be a lot of people complaining. I believe strongly the problem is with git and the proxy, but all my googling has not lead to a solution.
As an additional data point, clones seem to work fine if they’re http. It’s only the https clones that fail with this error.
Note that I don’t think this question is a duplicate, since the other questions with this error focus on problems with the repository – not working with git and a proxy.
I’ve stumbled across the solution to this problem via this post:
http://comments.gmane.org/gmane.comp.version-control.git/185459
The issue is apparently a bug in the libcurl version installed in Ubuntu server 11.04. Simply running apt-get install libcurl3-gnutls was not sufficient to solve the problem since it simply reported the latest version was already installed.
To solve the problem, I had to manually install the latest libcurl3-gnutls, and two dependencies, as seen below (obviously, after having downloaded them to my system first):
Hope this helps someone.