[PATCH] Set the parallel HTTP request limit via an environment variable
From: Nick Hengeveld <hidden>
Date: 2016-06-15 22:42:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
Use an environment variable rather than a command-line argument to set the parallel HTTP request limit. This allows the setting to work whether git-http-fetch is run directly or via git-fetch. Signed-off-by: Nick Hengeveld <redacted> --- http-fetch.c | 17 ++++++----------- 1 files changed, 6 insertions(+), 11 deletions(-) a508fd4ba7300476e6ad029fca10371ca869af1e
diff --git a/http-fetch.c b/http-fetch.c
--- a/http-fetch.c
+++ b/http-fetch.c@@ -1034,22 +1034,11 @@ int main(int argc, char **argv) arg++; } else if (!strcmp(argv[arg], "--recover")) { get_recover = 1; -#ifdef USE_CURL_MULTI - } else if (argv[arg][1] == 'r') { - max_requests = atoi(argv[arg + 1]); - if (max_requests < 1) - max_requests = DEFAULT_MAX_REQUESTS; - arg++; -#endif } arg++; } if (argc < arg + 2) { -#ifdef USE_CURL_MULTI - usage("git-http-fetch [-c] [-t] [-a] [-d] [-v] [-r concurrent-request-limit] [--recover] [-w ref] commit-id url"); -#else usage("git-http-fetch [-c] [-t] [-a] [-d] [-v] [--recover] [-w ref] commit-id url"); -#endif return 1; } commit_id = argv[arg];
@@ -1058,6 +1047,12 @@ int main(int argc, char **argv) curl_global_init(CURL_GLOBAL_ALL); #ifdef USE_CURL_MULTI + char *http_max_requests = getenv("GIT_HTTP_MAX_REQUESTS"); + if (http_max_requests != NULL) + max_requests = atoi(http_max_requests); + if (max_requests < 1) + max_requests = DEFAULT_MAX_REQUESTS; + curlm = curl_multi_init(); if (curlm == NULL) { fprintf(stderr, "Error creating curl multi handle.\n");