Add cleanup command
* `brew cleanup foo` removes any unlinked foo kegs * `brew cleanup` removes all unlinked kegs
This commit is contained in:
		
							parent
							
								
									4bfb7cf24d
								
							
						
					
					
						commit
						0d84f3ee17
					
				@ -245,6 +245,22 @@ rescue
 | 
			
		||||
  []
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def cleanup name
 | 
			
		||||
  require 'formula'
 | 
			
		||||
 | 
			
		||||
  f = Formula.factory name
 | 
			
		||||
 | 
			
		||||
  if f.prefix.parent.directory?
 | 
			
		||||
    kids = f.prefix.parent.children
 | 
			
		||||
    kids.each do |keg|
 | 
			
		||||
      next if f.prefix == keg
 | 
			
		||||
      print "Uninstalling #{keg}..."
 | 
			
		||||
      FileUtils.rm_rf keg
 | 
			
		||||
      puts
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def clean f
 | 
			
		||||
  Cleaner.new f
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								bin/brew
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								bin/brew
									
									
									
									
									
								
							@ -207,6 +207,16 @@ begin
 | 
			
		||||
        ARGV.named.each {|name| info name}
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
  when 'cleanup'
 | 
			
		||||
    if ARGV.named.empty?
 | 
			
		||||
      require 'formula'
 | 
			
		||||
      `ls #{HOMEBREW_CELLAR}`.each do |name|
 | 
			
		||||
        cleanup name.strip
 | 
			
		||||
      end
 | 
			
		||||
    else
 | 
			
		||||
      ARGV.named.each { |name| cleanup name}
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
  when 'install'
 | 
			
		||||
    check_for_blacklisted_formula(ARGV.named)
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user