From: Petr Baudis <pasky@suse.cz>
Currently, when cloning from invalid HTTP URL, git clone will possibly return curl error, then a confusing message about remote HEAD and then return success and leave an empty repository behind, confusing either the end-user or the automated service calling it (think repo.or.cz).
This patch changes the error() calls in get_refs_via_curl() to die()s, akin to the other get_refs_*() functions.
Cc: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Petr Baudis <pasky@suse.cz> --- transport.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
Show changes to transport.c +3 −4
diff --git a/transport.c b/transport.c index 6eb65b8..b88b89b 100644 --- a/transport.c +++ b/transport.c @@ -464,16 +464,15 @@ static struct ref *get_refs_via_curl(struct transport *transport) if (results.curl_result != CURLE_OK) { strbuf_release(&buffer); if (missing_target(&results)) { + die("%s not found: did you run git update-server-info on the server?", refs_url); return NULL; } else { - error("%s", curl_errorstr); - return NULL; + die("%s download error - %s", refs_url, curl_errorstr); } } } else { strbuf_release(&buffer); - error("Unable to start request"); - return NULL; + die("Unable to start HTTP request"); } data = buffer.buf;
-- 1.5.6.3.392.g292f1