diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/info.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/install.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/exceptions.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/formulary.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/migrator.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/tap.rb | 9 |
8 files changed, 16 insertions, 19 deletions
diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index da50fe5d2..68e4c5425 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -69,7 +69,7 @@ module Homebrew def github_info(f) if f.tap? user, repo = f.tap.split("/", 2) - tap = Tap.fetch user, repo.gsub(/^homebrew-/, "") + tap = Tap.fetch user, repo if remote = tap.remote path = f.path.relative_path_from(tap.path) github_remote_path(remote, path) diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index a1e13d9e6..7afa3462d 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -16,9 +16,7 @@ module Homebrew ARGV.named.each do |name| if !File.exist?(name) && (name !~ HOMEBREW_CORE_FORMULA_REGEX) \ && (name =~ HOMEBREW_TAP_FORMULA_REGEX || name =~ HOMEBREW_CASK_TAP_FORMULA_REGEX) - user = $1 - repo = $2.sub(/^homebrew-/, "") - tap = Tap.fetch(user, repo) + tap = Tap.fetch($1, $2) tap.install unless tap.installed? end end unless ARGV.force? diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 504d4115b..10b4da661 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -403,10 +403,8 @@ class Report fetch(:D, []).each do |path| case path.to_s when HOMEBREW_TAP_PATH_REGEX - user = $1 - repo = $2.sub("homebrew-", "") oldname = path.basename(".rb").to_s - next unless newname = Tap.fetch(user, repo).formula_renames[oldname] + next unless newname = Tap.fetch($1, $2).formula_renames[oldname] else oldname = path.basename(".rb").to_s next unless newname = FORMULA_RENAMES[oldname] @@ -427,7 +425,7 @@ class Report def select_formula(key) fetch(key, []).map do |path, newpath| if path.to_s =~ HOMEBREW_TAP_PATH_REGEX - tap = "#{$1}/#{$2.sub("homebrew-", "")}" + tap = Tap.fetch($1, $2) if newpath ["#{tap}/#{path.basename(".rb")}", "#{tap}/#{newpath.basename(".rb")}"] else diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 55444469f..2199d27d3 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -76,7 +76,7 @@ class TapFormulaAmbiguityError < RuntimeError @paths = paths @formulae = paths.map do |path| path.to_s =~ HOMEBREW_TAP_PATH_REGEX - "#{$1}/#{$2.sub("homebrew-", "")}/#{path.basename(".rb")}" + "#{Tap.fetch($1, $2)}/#{path.basename(".rb")}" end super <<-EOS.undent diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 92bb779f8..6de23f7b0 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -134,7 +134,7 @@ class Formula @revision = self.class.revision || 0 if path.to_s =~ HOMEBREW_TAP_PATH_REGEX - @full_name = "#{$1}/#{$2.gsub(/^homebrew-/, "")}/#{name}" + @full_name = "#{Tap.fetch($1, $2)}/#{name}" else @full_name = name end @@ -296,7 +296,7 @@ class Formula end elsif tap? user, repo = tap.split("/") - formula_renames = Tap.fetch(user, repo.sub("homebrew-", "")).formula_renames + formula_renames = Tap.fetch(user, repo).formula_renames if formula_renames.value?(name) formula_renames.to_a.rassoc(name).first end @@ -309,7 +309,7 @@ class Formula Formula.core_alias_reverse_table[name] || [] elsif tap? user, repo = tap.split("/") - Tap.fetch(user, repo.sub("homebrew-", "")).alias_reverse_table[full_name] || [] + Tap.fetch(user, repo).alias_reverse_table[full_name] || [] else [] end diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 7577edb9e..5cc7a8869 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -145,7 +145,7 @@ class Formulary def initialize(tapped_name) user, repo, name = tapped_name.split("/", 3).map(&:downcase) - @tap = Tap.fetch user, repo.sub(/^homebrew-/, "") + @tap = Tap.fetch user, repo name = @tap.formula_renames.fetch(name, name) path = @tap.formula_files.detect { |file| file.basename(".rb").to_s == name } diff --git a/Library/Homebrew/migrator.rb b/Library/Homebrew/migrator.rb index 3418073d0..0492624ef 100644 --- a/Library/Homebrew/migrator.rb +++ b/Library/Homebrew/migrator.rb @@ -31,9 +31,7 @@ class Migrator msg = if tap == "Homebrew/homebrew" "Please try to use #{formula.oldname} to refer the formula.\n" elsif tap - user, repo = tap.split("/") - repo.sub!("homebrew-", "") - "Please try to use fully-qualified #{user}/#{repo}/#{formula.oldname} to refer the formula.\n" + "Please try to use fully-qualified #{Tap.fetch(*tap.split("/"))}/#{formula.oldname} to refer the formula.\n" end super <<-EOS.undent diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index b732a2a6f..5a516f839 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -17,6 +17,9 @@ class Tap end def self.fetch(user, repo) + # we special case homebrew so users don't have to shift in a terminal + user = "Homebrew" if user == "homebrew" + repo = repo.strip_prefix "homebrew-" cache_key = "#{user}/#{repo}".downcase CACHE.fetch(cache_key) { |key| CACHE[key] = Tap.new(user, repo) } end @@ -39,9 +42,9 @@ class Tap # e.g. `/usr/local/Library/Taps/user/homebrew-repo` attr_reader :path + # @private def initialize(user, repo) - # we special case homebrew so users don't have to shift in a terminal - @user = user == "homebrew" ? "Homebrew" : user + @user = user @repo = repo @name = "#{@user}/#{@repo}".downcase @path = TAP_DIRECTORY/"#{@user}/homebrew-#{@repo}".downcase @@ -268,7 +271,7 @@ class Tap TAP_DIRECTORY.subdirs.each do |user| user.subdirs.each do |repo| - yield fetch(user.basename.to_s, repo.basename.to_s.sub("homebrew-", "")) + yield fetch(user.basename.to_s, repo.basename.to_s) end end end |
