diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index 1ff92d0c7cf2271af4370a7a62bd0aef89b2524f..2e75d055155a76e490ac841dd5af7632b3582590 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -22,7 +22,10 @@ module Homebrew def tap_new tap_new_args.parse + tap_name = args.named.first tap = Tap.fetch(args.named.first) + raise "Invalid tap name '#{tap_name}'" unless tap.path.to_s.match?(HOMEBREW_TAP_PATH_REGEX) + titleized_user = tap.user.dup titleized_repo = tap.repo.dup titleized_user[0] = titleized_user[0].upcase diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index cf2f2851a5e3bc282a60168c3faef3ea70fba5ee..9894b4b47b102ca5267dbdc80c8f27115dd6b906 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -34,10 +34,7 @@ class Tap return CoreTap.instance if ["Homebrew", "Linuxbrew"].include?(user) && ["core", "homebrew"].include?(repo) cache_key = "#{user}/#{repo}".downcase - tap = cache.fetch(cache_key) { |key| cache[key] = Tap.new(user, repo) } - raise "Invalid tap name '#{args.join("/")}'" unless tap.path.to_s.match?(HOMEBREW_TAP_PATH_REGEX) - - tap + cache.fetch(cache_key) { |key| cache[key] = Tap.new(user, repo) } end def self.from_path(path)