OSDN Git Service

remote-curl: die directly with http error messages
authorJeff King <peff@peff.net>
Fri, 5 Apr 2013 22:22:15 +0000 (18:22 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 7 Apr 2013 01:56:45 +0000 (18:56 -0700)
When we encounter an unknown http error (e.g., a 403), we
hand the error code to http_error, which then prints it with
error(). After that we die with the redundant message "HTTP
request failed".

Instead, let's just drop http_error entirely, which does
nothing but pass arguments to error(), and instead die
directly with a useful message.

So before:

  $ git clone https://example.com/repo.git
  Cloning into 'repo'...
  error: unable to access 'https://example.com/repo.git': The requested URL returned error: 403 Forbidden
  fatal: HTTP request failed

and after:

  $ git clone https://example.com/repo.git
  Cloning into 'repo'...
  fatal: unable to access 'https://example.com/repo.git': The requested URL returned error: 403 Forbidden

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote-curl.c

index 9abe4b7..60eda63 100644 (file)
@@ -216,8 +216,7 @@ static struct discovery* discover_refs(const char *service, int for_push)
                die("Authentication failed for '%s'", url);
        default:
                show_http_message(&type, &buffer);
-               http_error(url);
-               die("HTTP request failed");
+               die("unable to access '%s': %s", url, curl_errorstr);
        }
 
        last= xcalloc(1, sizeof(*last_discovery));