aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorJack Nagel2013-05-15 22:13:56 -0500
committerJack Nagel2013-05-15 22:19:58 -0500
commit1614a13cc498b2d7b3bf047017ffa3ba693ee5e3 (patch)
tree360d724808d72afb3e5daff206f2d250c9d3eac2 /Library/Homebrew/cmd
parent8caa48cf7d12a731d8f592c67f3a4351f31117bf (diff)
downloadhomebrew-1614a13cc498b2d7b3bf047017ffa3ba693ee5e3.tar.bz2
uninstall: stop assuming kegs always map to formulae
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/uninstall.rb12
1 files changed, 5 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb
index cf4f098ee..6929a49a7 100644
--- a/Library/Homebrew/cmd/uninstall.rb
+++ b/Library/Homebrew/cmd/uninstall.rb
@@ -23,20 +23,18 @@ module Homebrew extend self
raise "Invalid usage" if name.include? '/'
rack = HOMEBREW_CELLAR/name
+
if rack.directory?
puts "Uninstalling #{name}..."
- rack.children.each do |keg|
- if keg.directory?
- keg = Keg.new(keg)
- keg.unlink
- Formula.factory(keg.fname).unpin
- keg.rmtree
- end
+ rack.subdirs.map { |d| Keg.new(d) }.each do |keg|
+ keg.unlink
+ keg.rmtree
end
rack.rmtree
end
rm_opt_link name
+ rm_pin name
end
end
rescue MultipleVersionsInstalledError => e