Re: git-fetch in 1.5.4 fails versus 1.5.3.8
- From
Jeff King <peff@peff.net>
- Date
- Feb 8, 2008, 00:32 UTC
- Message-ID
- <20080208003239.GA18856@coredump.intra.peff.net>
- In-Reply-To
- <20080207220243.GA7237@glandium.org>
On Thu, Feb 07, 2008 at 11:02:43PM +0100, Mike Hommey wrote:
> Sorry, I've had trouble opening my eyes and actually reading messages I > reply to... anyways, I tried to reproduce with curl-gnutls and... > couldn't... How did you manage that ? Is the server you were trying on > public ? Do you have any http.ssl* variables set in your configuration ?
No, my test repo is not public. I have no special ssl configuration (though I do use GIT_SSL_NO_VERIFY=1 since I just had a test self-signed cert). The exact recipe on my Debian system is:
1. Build broken git on client
client$ apt-get install libcurl4-gnutls-dev client$ cd ~/compile/git && make install
2. On server with ssl-enabled webserver (I am using lighttpd, but I don't think that it matters), make a small repo.
server$ cd /var/www server$ mkdir foo && cd foo && git init server$ echo one >file && git add file && git commit -m one server$ git update-server-info
3. On client, clone repo, which should work ok
client$ export GIT_SSL_NO_VERIFY=1 ;# if necessary client$ git clone https://yourserver.com/foo/.git
4. make a new commit in parent repo
server$ echo two >file && git commit -a -m two server$ git update-server-info
5. fetch from client (this output is with GIT_SSL_NO_VERIFY=1; you get slightly different output if verification is on)
client$ git fetch error: gnutls_handshake() failed: ASN1 parser: Element was not found. (curl_result = 35, http_code = 0, sha1 = 07ac7bd2edd32a5818d719145910119ab72c9dd4) Getting pack list for https://peff.net/git/foo/.git error: gnutls_handshake() failed: ASN1 parser: Element was not found. Getting alternates list for https://peff.net/git/foo/.git error: Unable to find 07ac7bd2edd32a5818d719145910119ab72c9dd4 under https://peff.net/git/foo/.git Cannot obtain needed object 07ac7bd2edd32a5818d719145910119ab72c9dd4 fatal: Fetch failed.
6. On client, rebuild with libcurl4-openssl-dev
client$ apt-get install libcurl4-openssl-dev client$ cd ~/compile/git && make clean install
7. On client, do the fetch, which now works
client$ cd ~/foo && git fetch
-Peff