Set the parallel HTTP request limit via an environment variable

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 <nickh@reactrix.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Nick Hengeveld 2005-10-10 23:22:01 -07:00 committed by Junio C Hamano
parent a7a8d3786e
commit 380792390e

View File

@ -1034,22 +1034,11 @@ int main(int argc, char **argv)
arg++; arg++;
} else if (!strcmp(argv[arg], "--recover")) { } else if (!strcmp(argv[arg], "--recover")) {
get_recover = 1; 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++; arg++;
} }
if (argc < arg + 2) { 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"); usage("git-http-fetch [-c] [-t] [-a] [-d] [-v] [--recover] [-w ref] commit-id url");
#endif
return 1; return 1;
} }
commit_id = argv[arg]; commit_id = argv[arg];
@ -1058,6 +1047,12 @@ int main(int argc, char **argv)
curl_global_init(CURL_GLOBAL_ALL); curl_global_init(CURL_GLOBAL_ALL);
#ifdef USE_CURL_MULTI #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(); curlm = curl_multi_init();
if (curlm == NULL) { if (curlm == NULL) {
fprintf(stderr, "Error creating curl multi handle.\n"); fprintf(stderr, "Error creating curl multi handle.\n");