aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2012-03-07 11:10:16 +0000
committerMax Howell2012-03-07 12:33:47 +0000
commit1e4c65be0b160a93ffc027fa2384f07f51056878 (patch)
treeaec1fce736970809d7be4a0e399f9d507c148820
parent7034ce6e067360f368f46917408cb4a442fe1836 (diff)
downloadhomebrew-1e4c65be0b160a93ffc027fa2384f07f51056878.tar.bz2
If multiple kegs, default to formula keg
If it exists, ARGV.kegs will return the Formula.prefix keg for each rack examined. So for ARGV=[wget, foo] and the following Cellar (wget/1.11, wget/1.12, foo/1.0) you'll get [wget/1.12, foo/1.0] from ARGV.kegs provided 1.12 is the formula version of wget.
-rw-r--r--Library/Homebrew/extend/ARGV.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index 130058327..59a5087e7 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -31,8 +31,16 @@ module HomebrewArgvExtension
linked_keg_ref = HOMEBREW_REPOSITORY/"Library/LinkedKegs"/name
if not linked_keg_ref.symlink?
- raise MultipleVersionsInstalledError.new(name) if dirs.length > 1
- Keg.new(dirs.first)
+ if dirs.length == 1
+ Keg.new(dirs.first)
+ else
+ prefix = Formula.factory(canonical_name).prefix
+ if prefix.directory?
+ Keg.new(prefix)
+ else
+ raise MultipleVersionsInstalledError.new(name)
+ end
+ end
else
Keg.new(linked_keg_ref.realpath)
end