(src: Path, dst: Path, *, preserve_components: bool)
| 85 | |
| 86 | |
| 87 | def reset_directory(src: Path, dst: Path, *, preserve_components: bool) -> None: |
| 88 | ensure_existing(src, "source directory") |
| 89 | preserved_components: Path | None = None |
| 90 | if preserve_components and (dst / "_components").is_dir(): |
| 91 | preserved_components = Path(tempfile.mkdtemp()) / "_components" |
| 92 | shutil.copytree(dst / "_components", preserved_components) |
| 93 | if dst.exists(): |
| 94 | shutil.rmtree(dst) |
| 95 | shutil.copytree(src, dst) |
| 96 | if preserved_components is not None: |
| 97 | if (dst / "_components").exists(): |
| 98 | shutil.rmtree(dst / "_components") |
| 99 | shutil.copytree(preserved_components, dst / "_components") |
| 100 | |
| 101 | |
| 102 | def merge_directory(src: Path, dst: Path, *, overwrite: bool) -> None: |
no test coverage detected