pull: Fix pull --bottle 1234

Fix the error:
Error: undefined method `casecmp' for nil:NilClass
This commit is contained in:
Shaun Jackman 2017-10-18 23:32:06 -07:00
parent a08f1c6748
commit f9d42659ea
4 changed files with 7 additions and 9 deletions

View File

@ -87,11 +87,8 @@ module Homebrew
tap = nil
ARGV.named.each do |arg|
if arg.to_i.positive?
issue = arg
url = "https://github.com/Homebrew/homebrew-core/pull/#{arg}"
tap = CoreTap.instance
elsif (testing_match = arg.match %r{/job/Homebrew.*Testing/(\d+)/})
arg = "#{CoreTap.instance.default_remote}/pull/#{arg}" if arg.to_i.positive?
if (testing_match = arg.match %r{/job/Homebrew.*Testing/(\d+)/})
tap = ARGV.value("tap")
tap = if tap&.start_with?("homebrew/")
Tap.fetch("homebrew", tap.strip_prefix("homebrew/"))

View File

@ -26,11 +26,11 @@ class Tap
raise "Invalid tap name '#{args.join("/")}'"
end
# we special case homebrew so users don't have to shift in a terminal
user = "Homebrew" if user == "homebrew"
# We special case homebrew and linuxbrew so that users don't have to shift in a terminal.
user = user.capitalize if ["homebrew", "linuxbrew"].include? user
repo = repo.strip_prefix "homebrew-"
if user == "Homebrew" && (repo == "homebrew" || repo == "core")
if ["Homebrew", "Linuxbrew"].include?(user) && ["core", "homebrew"].include?(repo)
return CoreTap.instance
end

View File

@ -22,7 +22,7 @@ describe "brew pull", :integration_test do
.and output(/Current branch is new\-branch/).to_stderr
.and be_a_failure
expect { brew "pull", "--bump", "8" }
expect { brew "pull", "--bump", "https://github.com/Homebrew/homebrew-core/pull/8" }
.to output(/Fetching patch/).to_stdout
.and output(/No changed formulae found to bump/).to_stderr
.and be_a_failure

View File

@ -61,6 +61,7 @@ describe Tap do
specify "::fetch" do
begin
expect(described_class.fetch("Homebrew", "core")).to be_kind_of(CoreTap)
expect(described_class.fetch("Homebrew", "homebrew")).to be_kind_of(CoreTap)
tap = described_class.fetch("Homebrew", "foo")
expect(tap).to be_kind_of(Tap)