diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb index 0744334108..c7df469b8a 100644 --- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb @@ -314,7 +314,26 @@ module Homebrew new_formula_version = formula_version(formula, requested_spec, new_contents) - GitHub.check_for_duplicate_pull_requests(formula, tap_full_name, new_formula_version.to_s) + pull_requests = GitHub.check_for_duplicate_pull_requests(formula, tap_full_name, new_formula_version.to_s) + + duplicates_message = <<~EOS + These pull requests may be duplicates: + #{pull_requests.join("\n")} + EOS + error_message = "Duplicate PRs should not be opened. Use --force to override this error." + + unless !pull_requests.blank? + if args.force? && !args.quiet? + opoo duplicates_message + elsif !args.force? && args.quiet? + odie error_message + elsif !args.force? + odie <<~EOS + #{duplicates_message.chomp} + #{error_message} + EOS + end + end if !new_mirrors && !formula_spec.mirrors.empty? if args.force? diff --git a/Library/Homebrew/dev-cmd/bump.rb b/Library/Homebrew/dev-cmd/bump.rb index c8416b1ead..05dc7ffb8d 100644 --- a/Library/Homebrew/dev-cmd/bump.rb +++ b/Library/Homebrew/dev-cmd/bump.rb @@ -53,13 +53,13 @@ module Homebrew tap_full_name = formula.tap&.full_name current_version = current_formula_version(formula) livecheck_response = livecheck_formula(package_name) - pull_requests = GitHub.check_for_duplicate_pull_requests(formula, tap_full_name, latest_version, true) + pull_requests = GitHub.check_for_duplicate_pull_requests(formula, tap_full_name, latest_version) { repology_latest_version: latest_version, current_formula_version: current_version.to_s, livecheck_latest_version: livecheck_response[:livecheck_version], - open_pull_requests: pull_requests, + open_pull_requests: pull_requests.join(", "), } end diff --git a/Library/Homebrew/utils/github.rb b/Library/Homebrew/utils/github.rb index f40dba7fd3..737e50e139 100644 --- a/Library/Homebrew/utils/github.rb +++ b/Library/Homebrew/utils/github.rb @@ -356,7 +356,7 @@ module GitHub [] end - def check_for_duplicate_pull_requests(formula, tap_full_name, version, fetch_pr = false) + def check_for_duplicate_pull_requests(formula, tap_full_name, version) # check for open requests pull_requests = fetch_pull_requests(formula.name, tap_full_name, state: "open") @@ -364,23 +364,7 @@ module GitHub pull_requests = fetch_pull_requests("#{formula.name} #{version}", tap_full_name) if pull_requests.blank? return if pull_requests.blank? - return pull_requests.map { |pr| { title: pr["title"], url: pr["html_url"] } } if fetch_pr - - duplicates_message = <<~EOS - These pull requests may be duplicates: - #{pull_requests.map { |pr| "#{pr["title"]} #{pr["html_url"]}" }.join("\n")} - EOS - error_message = "Duplicate PRs should not be opened. Use --force to override this error." - if Homebrew.args.force? && !Homebrew.args.quiet? - opoo duplicates_message - elsif !Homebrew.args.force? && Homebrew.args.quiet? - odie error_message - elsif !Homebrew.args.force? - odie <<~EOS - #{duplicates_message.chomp} - #{error_message} - EOS - end + pull_requests.map { |pr| { title: pr["title"], url: pr["html_url"] } } end def create_fork(repo)