aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMax Howell2012-03-07 11:10:16 +0000
committerMax Howell2012-03-07 12:33:47 +0000
commit735b6337a120b54bf1fcad5131bfdab951dc34f8 (patch)
tree595f7f2642f45761229844266d1bb89c9010acea /Library
parent67c3f1b2b4e4697af93a3e78e31fd00df2d02966 (diff)
downloadbrew-735b6337a120b54bf1fcad5131bfdab951dc34f8.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.
Diffstat (limited to 'Library')
-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