# File lib/librarian/puppet/util.rb, line 27
      def cp_r(src, dest)
        if rsync?
          Rsync.run(File.join(src, "/"), dest, ['-avz', '--delete'])
        else
          begin
            FileUtils.cp_r(src, dest, :preserve => true)
          rescue Errno::ENOENT, Errno::EACCES
            debug { "Failed to copy from #{src} to #{dest} preserving file types, trying again without preserving them" }
            FileUtils.rm_rf(dest)
            FileUtils.cp_r(src, dest)
          end
        end
      end