aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/brew17
1 files changed, 17 insertions, 0 deletions
diff --git a/bin/brew b/bin/brew
index 3b5ac4fed..95b077251 100755
--- a/bin/brew
+++ b/bin/brew
@@ -377,6 +377,23 @@ begin
brew_doctor
else
+ # Check for an external shell command
+ if system "/usr/bin/which -s brew-#{arg}"
+ # Add some Homebrew vars to the ENV
+ ['CACHE', 'CELLAR', 'LIBRARY_PATH', 'PREFIX', 'REPOSITORY'].each do |e|
+ ENV["HOMEBREW_#{e}"] = eval("HOMEBREW_#{e}")
+ end
+ exec("brew-#{arg}", *ARGV)
+ end
+
+ # Check for an external ruby command
+ external_rb = `/usr/bin/which brew-#{arg}.rb`.chomp
+ unless external_rb.empty?
+ require external_rb
+ exit 0
+ end
+
+ # Check for git commands
if ['branch', 'checkout', 'pull', 'push', 'rebase', 'reset'].include? arg
onoe "Unknown command: #{arg} (did you mean 'git #{arg}'?)"
else