diff options
| author | Adam Vandenberg | 2010-10-17 17:52:10 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-10-17 17:52:10 -0700 |
| commit | 3ca30d2d5b5664216446f9752d81129d4a758bdd (patch) | |
| tree | 437c053e8aa334187f81254edf5515cc170f9af8 /bin | |
| parent | 55152f0be4e03f465bbc7d4fb6c78de4d13369ef (diff) | |
| download | homebrew-3ca30d2d5b5664216446f9752d81129d4a758bdd.tar.bz2 | |
Add remove --force
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/brew | 31 |
1 files changed, 23 insertions, 8 deletions
@@ -188,15 +188,30 @@ begin ARGV.kegs.each {|keg| puts "#{keg.unlink} links removed for #{keg}"} when 'rm', 'uninstall', 'remove' - begin - ARGV.kegs.each do |keg| - puts "Uninstalling #{keg}..." - keg.unlink - keg.uninstall + if ARGV.flag? "--force" + require 'formula' + ARGV.formulae.each do |f| + formula_cellar = f.prefix.parent + next unless File.exist? formula_cellar + puts "Uninstalling #{f.name}..." + formula_cellar.children do |k| + keg = Keg.new(k) + keg.unlink + end + + formula_cellar.rmtree + end + else + begin + ARGV.kegs.each do |keg| + puts "Uninstalling #{keg}..." + keg.unlink + keg.uninstall + end + rescue MultipleVersionsInstalledError => e + onoe e + puts "Use `brew remove --force #{e.name}` to remove all versions." end - rescue MultipleVersionsInstalledError => e - onoe e - puts "Use `brew remove --force #{e.name}` to remove all versions." end when 'prune' |
