An all-purpose copy. If src is a file, it is copied. If src is a symlink, it is copied *as a symlink*. If src is a directory, the full tree is duplicated, with symlinks being preserved.
(src, tgt)
| 107 | |
| 108 | |
| 109 | def copy(src, tgt): |
| 110 | """An all-purpose copy. |
| 111 | |
| 112 | If src is a file, it is copied. If src is a symlink, it is copied *as a |
| 113 | symlink*. If src is a directory, the full tree is duplicated, with symlinks |
| 114 | being preserved. |
| 115 | """ |
| 116 | if src.is_file() or src.is_symlink(): |
| 117 | shutil.copyfile(src, tgt, follow_symlinks=False) |
| 118 | else: |
| 119 | shutil.copytree(src, tgt, symlinks=True) |
| 120 | |
| 121 | |
| 122 | def clone_testbed( |
no test coverage detected
searching dependent graphs…