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' | 
