diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb index 7dcf471164..4c51c0596b 100644 --- a/Library/Homebrew/manpages/brew.1.md.erb +++ b/Library/Homebrew/manpages/brew.1.md.erb @@ -168,6 +168,7 @@ Note that environment variables must have a value set to be detected. For exampl * `HOMEBREW_CURL_RETRIES`: If set, Homebrew will pass the given retry count to `--retry` when invoking `curl`(1). + By default, `curl`(1) is invoked with `--retry 3`. * `HOMEBREW_DEBUG`: If set, any commands that can emit debugging information will do so. diff --git a/Library/Homebrew/test/utils/curl_spec.rb b/Library/Homebrew/test/utils/curl_spec.rb index baab4d4bdc..e9b48009d8 100644 --- a/Library/Homebrew/test/utils/curl_spec.rb +++ b/Library/Homebrew/test/utils/curl_spec.rb @@ -14,9 +14,13 @@ describe "curl" do expect(curl_args("foo").first).not_to eq("-q") end - it "returns --retry when HOMEBREW_CURL_RETRIES is set" do - ENV["HOMEBREW_CURL_RETRIES"] = "3" + it "uses `--retry 3` when HOMEBREW_CURL_RETRIES is unset" do expect(curl_args("foo").join(" ")).to include("--retry 3") end + + it "uses the given value for `--retry` when HOMEBREW_CURL_RETRIES is set" do + ENV["HOMEBREW_CURL_RETRIES"] = "10" + expect(curl_args("foo").join(" ")).to include("--retry 10") + end end end diff --git a/Library/Homebrew/utils/curl.rb b/Library/Homebrew/utils/curl.rb index 670b06a828..d78e4bc96c 100644 --- a/Library/Homebrew/utils/curl.rb +++ b/Library/Homebrew/utils/curl.rb @@ -39,7 +39,8 @@ def curl_args(*extra_args, show_output: false, user_agent: :default) args << "--silent" unless $stdout.tty? end - args << "--retry" << ENV["HOMEBREW_CURL_RETRIES"] if ENV["HOMEBREW_CURL_RETRIES"] + # When changing the default value, the manpage has to be updated. + args << "--retry" << (ENV["HOMEBREW_CURL_RETRIES"] || "3") args + extra_args end diff --git a/docs/Manpage.md b/docs/Manpage.md index 4d74e7e3c6..8d41ee6b33 100644 --- a/docs/Manpage.md +++ b/docs/Manpage.md @@ -1200,6 +1200,7 @@ Note that environment variables must have a value set to be detected. For exampl * `HOMEBREW_CURL_RETRIES`: If set, Homebrew will pass the given retry count to `--retry` when invoking `curl`(1). + By default, `curl`(1) is invoked with `--retry 3`. * `HOMEBREW_DEBUG`: If set, any commands that can emit debugging information will do so. diff --git a/manpages/brew.1 b/manpages/brew.1 index 6e43fee61f..bfd405ff00 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -1496,7 +1496,7 @@ If set, Homebrew will pass \fB\-\-verbose\fR when invoking \fBcurl\fR(1)\. . .TP \fBHOMEBREW_CURL_RETRIES\fR -If set, Homebrew will pass the given retry count to \fB\-\-retry\fR when invoking \fBcurl\fR(1)\. +If set, Homebrew will pass the given retry count to \fB\-\-retry\fR when invoking \fBcurl\fR(1)\. By default, \fBcurl\fR(1) is invoked with \fB\-\-retry 3\fR\. . .TP \fBHOMEBREW_DEBUG\fR