prune: add dry-run mode
This commit is contained in:
parent
f4dcdea64e
commit
1197409c36
@ -10,16 +10,20 @@ module Homebrew extend self
|
||||
$d = 0
|
||||
dirs = []
|
||||
|
||||
Keg::PRUNEABLE_DIRECTORIES.each do |dir|
|
||||
next unless dir.directory?
|
||||
Keg::PRUNEABLE_DIRECTORIES.select(&:directory?).each do |dir|
|
||||
dir.find do |path|
|
||||
path.extend ObserverPathnameExtension
|
||||
path.extend(ObserverPathnameExtension)
|
||||
if path.symlink?
|
||||
unless path.resolved_path_exists?
|
||||
if ENV['HOMEBREW_KEEP_INFO'] and path.to_s =~ Keg::INFOFILE_RX
|
||||
path.uninstall_info
|
||||
path.uninstall_info unless ARGV.dry_run?
|
||||
end
|
||||
|
||||
if ARGV.dry_run?
|
||||
puts "Would remove (broken link): #{path}"
|
||||
else
|
||||
path.unlink
|
||||
end
|
||||
path.unlink
|
||||
end
|
||||
elsif path.directory?
|
||||
dirs << path
|
||||
@ -27,16 +31,22 @@ module Homebrew extend self
|
||||
end
|
||||
end
|
||||
|
||||
dirs.sort.reverse_each{ |d| d.rmdir_if_possible }
|
||||
dirs.sort.reverse_each do |d|
|
||||
if ARGV.dry_run? && d.children.empty?
|
||||
puts "Would remove (empty directory): #{d}"
|
||||
else
|
||||
d.rmdir_if_possible
|
||||
end
|
||||
end
|
||||
|
||||
repair_taps
|
||||
repair_taps unless ARGV.dry_run?
|
||||
|
||||
if $n == 0 and $d == 0
|
||||
if $n == 0 && $d == 0
|
||||
puts "Nothing pruned" if ARGV.verbose?
|
||||
else
|
||||
print "Pruned #{$n} symbolic links "
|
||||
print "and #{$d} directories " if $d > 0
|
||||
puts "from #{HOMEBREW_PREFIX}"
|
||||
end
|
||||
end unless ARGV.dry_run?
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user