From 74e78487d5faa2cb0c1ff1cd2fd8b0d10d9e8dd7 Mon Sep 17 00:00:00 2001 From: Martin Kuehl Date: Tue, 16 Feb 2010 15:35:37 +0100 Subject: Fix `brew cleanup`: don't bail out early Running `brew cleanup` (with no arguments or multiple arguments) raises an error and stops as soon as it finds any formula whose most recent version is not installed. With this change it will instead print a warning, then continue with the next formula. Signed-off-by: Adam Vandenberg --- Library/Homebrew/brew.h.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index 6a284b292..d4cea7596 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -250,10 +250,7 @@ def cleanup name f = Formula.factory name - # we can't tell which one to keep in this circumstance - raise "The most recent version of #{name} is not installed" unless f.installed? - - if f.prefix.parent.directory? + if f.installed? and f.prefix.parent.directory? kids = f.prefix.parent.children kids.each do |keg| next if f.prefix == keg @@ -261,6 +258,9 @@ def cleanup name FileUtils.rm_rf keg puts end + else + # we can't tell which one to keep in this circumstance + opoo "Skipping #{name}: most recent version #{f.version} not installed" end end -- cgit v1.2.3