Re: git-fetch in 1.5.4 fails versus 1.5.3.8
From: Anand Kumria <hidden>
Date: 2016-06-15 22:44:11
On Tue, 05 Feb 2008 00:07:41 -0500, Jeff King wrote:
On Mon, Feb 04, 2008 at 06:25:25PM +0000, Anand Kumria wrote:quoted
$ 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's
I bisected this down to the patch that makes git-fetch a builtin (b888d61c8308027433df9c243fa551f42db1c76a) -- which is where I guessed the functionality changed.
header files, it looks like error 77 is: CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing or wrong format */quoted
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.
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