summaryrefslogtreecommitdiff
path: root/http-fetch.c
diff options
context:
space:
mode:
Diffstat (limited to 'http-fetch.c')
-rw-r--r--http-fetch.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/http-fetch.c b/http-fetch.c
index fa642462a9..58b394cd47 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -4,6 +4,7 @@
#include "http.h"
#include "walker.h"
#include "strvec.h"
+#include "urlmatch.h"
static const char http_fetch_usage[] = "git http-fetch "
"[-c] [-t] [-a] [-v] [--recover] [-w ref] [--stdin | --packfile=hash | commit-id] url";
@@ -63,8 +64,17 @@ static void fetch_single_packfile(struct object_id *packfile_hash,
if (start_active_slot(preq->slot)) {
run_active_slot(preq->slot);
if (results.curl_result != CURLE_OK) {
- die("Unable to get pack file %s\n%s", preq->url,
- curl_errorstr);
+ struct url_info url;
+ char *nurl = url_normalize(preq->url, &url);
+ if (!nurl || !git_env_bool("GIT_TRACE_REDACT", 1)) {
+ die("unable to get pack file '%s'\n%s", preq->url,
+ curl_errorstr);
+ } else {
+ die("failed to get '%.*s' url from '%.*s' "
+ "(full URL redacted due to GIT_TRACE_REDACT setting)\n%s",
+ (int)url.scheme_len, url.url,
+ (int)url.host_len, &url.url[url.host_off], curl_errorstr);
+ }
}
} else {
die("Unable to start request");
@@ -131,7 +141,7 @@ int cmd_main(int argc, const char **argv)
if (packfile) {
if (!index_pack_args.nr)
- die(_("--packfile requires --index-pack-args"));
+ die(_("the option '%s' requires '%s'"), "--packfile", "--index-pack-args");
fetch_single_packfile(&packfile_hash, argv[arg],
index_pack_args.v);
@@ -140,7 +150,7 @@ int cmd_main(int argc, const char **argv)
}
if (index_pack_args.nr)
- die(_("--index-pack-args can only be used with --packfile"));
+ die(_("the option '%s' requires '%s'"), "--index-pack-args", "--packfile");
if (commits_on_stdin) {
commits = walker_targets_stdin(&commit_id, &write_ref);