aboutsummaryrefslogtreecommitdiff
path: root/remote-curl.c
diff options
context:
space:
mode:
Diffstat (limited to 'remote-curl.c')
-rw-r--r--remote-curl.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/remote-curl.c b/remote-curl.c
index 69f919454a..aba60d5712 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -529,6 +529,17 @@ static struct discovery *discover_refs(const char *service, int for_push)
show_http_message(&type, &charset, &buffer);
die(_("unable to access '%s' with http.pinnedPubkey configuration: %s"),
transport_anonymize_url(url.buf), curl_errorstr);
+ case HTTP_RATE_LIMITED:
+ if (http_options.retry_after > 0) {
+ show_http_message(&type, &charset, &buffer);
+ die(_("rate limited by '%s', please try again in %ld seconds"),
+ transport_anonymize_url(url.buf),
+ http_options.retry_after);
+ } else {
+ show_http_message(&type, &charset, &buffer);
+ die(_("rate limited by '%s', please try again later"),
+ transport_anonymize_url(url.buf));
+ }
default:
show_http_message(&type, &charset, &buffer);
die(_("unable to access '%s': %s"),
@@ -876,6 +887,7 @@ static int probe_rpc(struct rpc_state *rpc, struct slot_results *results)
headers = curl_slist_append(headers, rpc->hdr_content_type);
headers = curl_slist_append(headers, rpc->hdr_accept);
+ headers = http_append_auth_header(&http_auth, headers);
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0L);
curl_easy_setopt(slot->curl, CURLOPT_POST, 1L);
@@ -1551,6 +1563,13 @@ int cmd_main(int argc, const char **argv)
goto cleanup;
}
+ /*
+ * yuck, see 9e89dcb66a (builtin/ls-remote: fall back to SHA1 outside
+ * of a repo, 2024-08-02)
+ */
+ if (nongit)
+ repo_set_hash_algo(the_repository, GIT_HASH_DEFAULT);
+
options.verbosity = 1;
options.progress = !!isatty(2);
options.thin = 1;