if target:
t = state.root / target.relative_to("/")
- t.mkdir(mode=0o755, parents=True, exist_ok=True)
- if source.is_dir():
+ t.parent.mkdir(mode=0o755, parents=True, exist_ok=True)
+
+ if source.is_dir() or target:
copy_path(source, t, preserve_owner=False)
else:
shutil.unpack_archive(source, t)
if target:
t = state.root / target.relative_to("/")
- t.mkdir(mode=0o755, parents=True, exist_ok=True)
+ t.parent.mkdir(mode=0o755, parents=True, exist_ok=True)
- if source.is_dir():
+ if source.is_dir() or target:
copy_path(source, t, preserve_owner=False)
else:
shutil.unpack_archive(source, t)