- dest_files = os.listdir(dest_dir)
- src_files = os.listdir(src_dir)
- # Exclude status & diff outputs
- for f in ('outdiff', 'statsdiff', 'status'):
- if f in src_files:
- src_files.remove(f)
- for f in src_files:
+ dest_files = set(os.listdir(dest_dir))
+ src_files = set(os.listdir(src_dir))
+ # Copy all of the required files plus any existing dest files.
+ wanted_files = needed_files | dest_files
+ missing_files = wanted_files - src_files
+ if len(missing_files) > 0:
+ print " WARNING: the following file(s) are missing " \
+ "and will not be updated:"
+ print " ", " ,".join(missing_files)
+ copy_files = wanted_files - missing_files
+ warn_ignored_files = (src_files - copy_files) - known_ignores
+ if len(warn_ignored_files) > 0:
+ print ignore_msg,
+ print " ", ", ".join(warn_ignored_files)
+ for f in copy_files: