* tool/rbuninstall.rb: remove parent directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-09-13 07:24:48 +00:00
Родитель 80d8216415
Коммит 6217307f43
1 изменённых файлов: 16 добавлений и 9 удалений

Просмотреть файл

@ -20,15 +20,10 @@ $_ = File.join($destdir, $_) if $destdir
list << $_
END {
status = true
$files.each do |file|
if $dryrun
$files.each do |file|
puts "rm #{file}"
end
$dirs.reverse_each do |dir|
puts "rmdir #{dir}"
end
else
$files.each do |file|
begin
File.unlink(file)
rescue Errno::ENOENT
@ -37,9 +32,18 @@ END {
puts $!
end
end
$dirs.reverse_each do |dir|
end
unlink = {}
$dirs.each do |dir|
unlink[dir] = true
end
while dir = $dirs.pop
if $dryrun
puts "rmdir #{dir}"
else
begin
begin
unlink.delete(dir)
Dir.rmdir(dir)
rescue Errno::ENOTDIR
raise unless File.symlink?(dir)
@ -49,6 +53,9 @@ END {
rescue
status = false
puts $!
else
parent = File.dirname(dir)
$dirs.push(parent) unless parent == dir or unlink[parent]
end
end
end