+++ /dev/null
-class Chef
- class Provider
- class RemoteDirectory
- def action_create
- super
- Chef::Log.debug("Doing a remote recursive directory transfer for #{@new_resource}")
-
- files_transferred = Set.new
- files_to_transfer.each do |cookbook_file_relative_path|
- create_cookbook_file(cookbook_file_relative_path)
- files_transferred << ::File.dirname(::File.join(@new_resource.path, cookbook_file_relative_path))
- files_transferred << ::File.join(@new_resource.path, cookbook_file_relative_path)
- end
-
- return unless @new_resource.purge
-
- files_to_purge = Set.new(
- Dir.glob(::File.join(@new_resource.path, "**", "*"), ::File::FNM_DOTMATCH).select do |name|
- name !~ /(?:^|#{Regexp.escape(::File::SEPARATOR)})\.\.?$/
- end
- )
- files_to_purge -= files_transferred
- purge_unmanaged_files(files_to_purge)
- end
- end
- end
-end