Writes a rig's generated files into outDir without ever removing or overwriting a file the
rig did not write, and records them in GENERATED_FILES_MANIFEST.
A missing or empty directory is created and written into.
A directory that holds anything is refused (OutputNotEmptyError) unless
options.Replace is set. Then the files the previous run's manifest lists (when the same
generator wrote it) are removed, with any directory they leave empty, and the new files are
written. Every other file is kept.
A new file whose path is taken by a file that manifest doesn't list, or whose directory
resolves outside outDir through a symlink, stops the run (OutputCollisionError)
before anything is removed or written.
Writes a rig's generated files into
outDirwithout ever removing or overwriting a file the rig did not write, and records them in GENERATED_FILES_MANIFEST.options.Replaceis set. Then the files the previous run's manifest lists (when the same generator wrote it) are removed, with any directory they leave empty, and the new files are written. Every other file is kept.outDirthrough a symlink, stops the run (OutputCollisionError) before anything is removed or written.