Re: git-fetch in 1.5.4 fails versus 1.5.3.8
- From
- Anand Kumria <wildfire@progsoc.org>
- Date
- Feb 6, 2008, 21:56 UTC
- Message-ID
- <pan.2008.02.06.21.56.35@progsoc.org>
- In-Reply-To
- <20080205050741.GA4624@coredump.intra.peff.net>
On Tue, 05 Feb 2008 00:07:41 -0500, Jeff King wrote:
Show 13 quoted lines
> On Mon, Feb 04, 2008 at 06:25:25PM +0000, Anand Kumria wrote:
>
>> $ cat .git/config
>> {{ ... }}
>> [remote "richard"]
>> url = https://server.example.com/~richard/newfoo.git fetch =
>> +refs/heads/*:refs/remotes/richard/*
>>
>> $ git fetch richard
>> error: (curl_result = 77, http_code = 0, sha1 =
>> 0bc27e5162d0e74053b71fc637cbbf8fc942e969)
>
> I was unable to reproduce your problem here. However, peeking in curl'sI bisected this down to the patch that makes git-fetch a builtin (b888d61c8308027433df9c243fa551f42db1c76a) -- which is where I guessed the functionality changed.
Show 10 quoted lines
> header files, it looks like error 77 is: > > CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, > missing > or wrong format */ > >> Downgrading to git-core in Debian (1.5.3.8) and it works perfectly. > > Since you are running Debian, can you confirm whether you have the > 'ca-certificates' package installed?
Yes, I have it installed.
> It creates the > /etc/ssl/certs/ca-certificates.crt file, which is presumably the source > of the complaining.
Yes, I have this file.
Show 6 quoted lines
> That being said, there seems to be some difference between 1.5.3.8 and > 1.5.4 that made us care more about SSL certs (though I note that the > SSL_VERIFYPEER curl knob has been set since pre-1.0). Have you tried > setting GIT_SSL_NO_VERIFY? > > -Peff
With git 1.5.4 I can merrily clone the repository via https without issue.
Only using git-fetch seems to have an issue.
With GIT_SSL_NO_VERIFY defined, it fails with:
$ GIT_SSL_NO_VERIFY=1 ../git/git-fetch richard error: gnutls_handshake() failed: ASN1 parser: Element was not found. (curl_result = 35, http_code = 0, sha1 = 510567ca41e201253445528ca6eb89ed43e71fce) Getting pack list for https://server.example.com/~richard/newfoo.git error: gnutls_handshake() failed: ASN1 parser: Element was not found. Getting alternates list for https://server.example.com/~richard/newfoo.git error: Unable to find 510567ca41e201253445528ca6eb89ed43e71fce under https://server.example.com/~richard/newfoo.git Cannot obtain needed object 510567ca41e201253445528ca6eb89ed43e71fce fatal: Fetch failed.
I *think* what is happening is that it is it is trying for the object - not seeing it and then not attempting to get the pack file.
But I'm having a hard time debugging this as git-fetch launches git-rev-list internally and it seems to be failing in there, really.
Thanks, Anand
Bisect log:
git-bisect start # good: [aadd4efa715f56e0eac5ac459c8ff4933b56d4ce] GIT 1.5.3.8 git-bisect good aadd4efa715f56e0eac5ac459c8ff4933b56d4ce # bad: [c3c135291a62a01f7fd385f46cde34091767259b] GIT 1.5.4 git-bisect bad c3c135291a62a01f7fd385f46cde34091767259b # bad: [183f84365de7b4b1fe0e15cebce80a95023aa1d6] git-p4: Fix typo in --detect-labels git-bisect bad 183f84365de7b4b1fe0e15cebce80a95023aa1d6 # bad: [6ca8b977e4f678050db8fcb0eec2091dd44a2bd0] Bisect: add "skip" to the short usage string. git-bisect bad 6ca8b977e4f678050db8fcb0eec2091dd44a2bd0 # good: [e66273a6abb8e9cd0967d52113e29c8014a255f8] Merge branch 'lh/merge' git-bisect good e66273a6abb8e9cd0967d52113e29c8014a255f8 # good: [f5bf6feb05b8c89c448ded6e6fad0eb58ef35463] Merge branch 'maint' git-bisect good f5bf6feb05b8c89c448ded6e6fad0eb58ef35463 # bad: [2b5a06edca8f7237aad6464b349b79772024d2a2] Restore default verbosity for http fetches. git-bisect bad 2b5a06edca8f7237aad6464b349b79772024d2a2 # bad: [3278cd0a39c30c6c3082fc5feed0f9bd98b5f628] Properly cleanup in http_cleanup so builtin-fetch does not segfault git-bisect bad 3278cd0a39c30c6c3082fc5feed0f9bd98b5f628 # good: [c7a8a16239c6bdbb4041dd8a8773ae055d3cccf8] Add bundle transport git-bisect good c7a8a16239c6bdbb4041dd8a8773ae055d3cccf8 # bad: [7a2bff45937a60d846abf3ccb42015539aedcb40] Replace custom memory growth allocator with ALLOC_GROW git-bisect bad 7a2bff45937a60d846abf3ccb42015539aedcb40 # bad: [4ad1eada9774a1f340beb4fdf78f1735534741bb] Fix off by one bug in reflog messages written by builtin-fetch git-bisect bad 4ad1eada9774a1f340beb4fdf78f1735534741bb # bad: [1aad91f5a715af92892aea7764beb829938ab111] Correct builtin-fetch to handle + in refspecs git-bisect bad 1aad91f5a715af92892aea7764beb829938ab111 # bad: [b888d61c8308027433df9c243fa551f42db1c76a] Make fetch a builtin git-bisect bad b888d61c8308027433df9c243fa551f42db1c76a