Fail properly when cloning from invalid HTTP URL
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
781c1834f5
commit
fd35e42683
13
transport.c
13
transport.c
@ -463,17 +463,14 @@ static struct ref *get_refs_via_curl(struct transport *transport)
|
||||
run_active_slot(slot);
|
||||
if (results.curl_result != CURLE_OK) {
|
||||
strbuf_release(&buffer);
|
||||
if (missing_target(&results)) {
|
||||
return NULL;
|
||||
} else {
|
||||
error("%s", curl_errorstr);
|
||||
return NULL;
|
||||
}
|
||||
if (missing_target(&results))
|
||||
die("%s not found: did you run git update-server-info on the server?", refs_url);
|
||||
else
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user