code: def recursive_copy(source, dest):
      '''
      Recursively copy the source directory to the destination,
      leaving files with the source does not explicitly overwrite.
  
      (identical to cp -r on a unix machine)
      '''
      for root, _, files in salt.utils.path.os_walk(source):
          path_from_source = root.replace(source, '').lstrip(os.sep)
          target_directory = os.path.join(dest, path_from_source)
          if not os.path.exists(target_directory):
              os.makedirs(target_directory)
          for name in files:
              file_path_from_source = os.path.join(source, path_from_source, name)
              target_path = os.path.join(target_directory, name)
              shutil.copyfile(file_path_from_source, target_pathf recursive_copy(source, dest):
      '''
      Recursively copy the source directory to the destination,
      leaving files with the source does not explicitly overwrite.
  
      (identical to cp -r on a unix machine)
      '''
      for root, _, files in salt.utils.path.os_walk(source):
          path_from_source = root.replace(source, '').lstrip(os.sep)
          target_directory = os.path.join(dest, path_from_source)
          if not os.path.exists(target_directory):
              os.makedirs(target_directory)
          for name in files:
              file_path_from_source = os.path.join(source, path_from_source, name)
              target_path = os.path.join(target_directory, name)
              shutil.copyfile(file_path_from_source, target_path)
docs: Recursively copy the source directory to the destination,
      leaving files with the source does not explicitly overwrite.
  
      (identical to cp -r on a unix machine)