diff options
| author | Xiyue Deng | 2012-11-08 02:19:05 -0800 | 
|---|---|---|
| committer | Mike McQuaid | 2012-11-30 21:37:56 +0000 | 
| commit | 17392399114b4921b05f32158f2c44636075d01a (patch) | |
| tree | 1ba287b8f767d1556113cdc60cd00688e2b1b409 /Library/Homebrew/cmd/cleanup.rb | |
| parent | d5e1c41c02b32e41fd3437e237ca54cecacb5ff5 (diff) | |
| download | homebrew-17392399114b4921b05f32158f2c44636075d01a.tar.bz2 | |
brew cleanup: don't remove higher version kegs.
* Use version compare to only remove kegs with lower version than the
  current one, not higher version which might be from someone's
  branch.
* Do the same for cache cleanup.
  - Be conservative so that if a name detected from cache file is not
    the same as its formula then don't clean it.
Closes #15914.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/cmd/cleanup.rb')
| -rw-r--r-- | Library/Homebrew/cmd/cleanup.rb | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/Library/Homebrew/cmd/cleanup.rb b/Library/Homebrew/cmd/cleanup.rb index 22b17f657..401a2fa1e 100644 --- a/Library/Homebrew/cmd/cleanup.rb +++ b/Library/Homebrew/cmd/cleanup.rb @@ -33,7 +33,7 @@ module Homebrew extend self      if f.installed? and f.rack.directory?        f.rack.children.each do |keg| -        if f.installed_prefix != keg +        if f.version > Keg.new(keg).version            if f.can_cleanup?              if ARGV.dry_run?                puts "Would remove: #{keg}" @@ -61,7 +61,7 @@ module Homebrew extend self        if name and version          f = Formula.factory(name) rescue nil          old_bottle = bottle_file_outdated? f, pn -        if not f or (f.version != version or ARGV.switch? "s" and not f.installed?) or old_bottle +        if (f and f.version > version) or (ARGV.switch? "s" and (f and (not f.installed?))) or old_bottle            if ARGV.dry_run?              puts "Would remove: #{pn}"            else | 
