From e9d58c410052157487f96a77dd318cbda641806e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sun, 17 Feb 2013 13:30:58 +0000 Subject: [PATCH] Rework brew command dispatch order. Make it no longer possible to override e.g. `brew install` with a script if there is already a built-in Homebrew command named `brew install`. References Homebrew/homebrew#17673 --- bin/brew | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/brew b/bin/brew index 1ade4c30bc..5fd2fc82a2 100755 --- a/bin/brew +++ b/bin/brew @@ -83,15 +83,15 @@ begin # Add example external commands to PATH before checking. ENV['PATH'] += ":#{HOMEBREW_REPOSITORY}/Library/Contributions/cmds" - if which "brew-#{cmd}" + if require? HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"/cmd + Homebrew.send cmd.to_s.gsub('-', '_').downcase + elsif which "brew-#{cmd}" %w[CACHE CELLAR LIBRARY_PATH PREFIX REPOSITORY].each do |e| ENV["HOMEBREW_#{e}"] = Object.const_get "HOMEBREW_#{e}" end exec "brew-#{cmd}", *ARGV elsif require? `/usr/bin/which brew-#{cmd}.rb` exit 0 - elsif require? HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"/cmd - Homebrew.send cmd.to_s.gsub('-', '_').downcase else onoe "Unknown command: #{cmd}" exit 1