Misc #11548 ยป bug11548.patch
| lib/fileutils.rb | ||
|---|---|---|
|
end
|
||
|
module_function :uptodate?
|
||
|
def remove_tailing_slash(dir)
|
||
|
def remove_trailing_slash(dir)
|
||
|
dir == '/' ? dir : dir.chomp(?/)
|
||
|
end
|
||
|
private_module_function :remove_tailing_slash
|
||
|
private_module_function :remove_trailing_slash
|
||
|
#
|
||
|
# Options: mode noop verbose
|
||
| ... | ... | |
|
fu_output_message "mkdir -p #{options[:mode] ? ('-m %03o ' % options[:mode]) : ''}#{list.join ' '}" if options[:verbose]
|
||
|
return *list if options[:noop]
|
||
|
list.map {|path| remove_tailing_slash(path)}.each do |path|
|
||
|
list.map {|path| remove_trailing_slash(path)}.each do |path|
|
||
|
# optimize for the most common case
|
||
|
begin
|
||
|
fu_mkdir path, options[:mode]
|
||
| ... | ... | |
|
OPT_TABLE['makedirs'] = [:mode, :noop, :verbose]
|
||
|
def fu_mkdir(path, mode) #:nodoc:
|
||
|
path = remove_tailing_slash(path)
|
||
|
path = remove_trailing_slash(path)
|
||
|
if mode
|
||
|
Dir.mkdir path, mode
|
||
|
File.chmod mode, path
|
||
| ... | ... | |
|
return if options[:noop]
|
||
|
list.each do |dir|
|
||
|
begin
|
||
|
Dir.rmdir(dir = remove_tailing_slash(dir))
|
||
|
Dir.rmdir(dir = remove_trailing_slash(dir))
|
||
|
if parents
|
||
|
until (parent = File.dirname(dir)) == '.' or parent == dir
|
||
|
dir = parent
|
||