util.copy(): Add recursive directory copy
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 4m51s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m42s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 4m53s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m46s
CI / Packaging test (push) Successful in 0s
All checks were successful
CI / Packaging - Kali Linux (pull_request) Successful in 4m51s
CI / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 4m42s
CI / Packaging test (pull_request) Successful in 0s
CI / Packaging - Kali Linux (push) Successful in 4m53s
CI / Packaging - OpenSUSE Tumbleweed (push) Successful in 4m46s
CI / Packaging test (push) Successful in 0s
copy() copies a single file: it fetches the source root as one content and puts it at the destination, so addressing a directory source fails, and there is no way to mirror a tree between file contexts. Add a recursive mode: - a directory source is mirrored below the destination root, into it if the root is an existing directory, as it if it does not exist yet - entries are enumerated with readdir(), destination directories are created level by level, and every leaf is put with the requested owner, group, and mode - a file source is unaffected, and the destination parent must exist, as before posix copy exposes the mode as -r/--recursive; the help test reference picks up the new option. Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.87.1 Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
0c732672ed
commit
b697b7b754
1 changed files with 177 additions and 2 deletions
|
|
@ -176,7 +176,8 @@ Available subcommands of posix:
|
|||
copy Copy files
|
||||
tar Handle tar archives
|
||||
============= Running: jw-pkg.py -t ../../../.. --log-level info posix copy --help
|
||||
usage: jw-pkg.py posix copy [-h] [-o OWNER] [-g GROUP] [-m MODE] [-F] src dst
|
||||
usage: jw-pkg.py posix copy [-h] [-o OWNER] [-g GROUP] [-m MODE] [-r] [-F]
|
||||
src dst
|
||||
|
||||
Copy files
|
||||
|
||||
|
|
@ -189,6 +190,7 @@ options:
|
|||
-o, --owner OWNER Destination file owner (default: None)
|
||||
-g, --group GROUP Destination file group (default: None)
|
||||
-m, --mode MODE Destination file mode (default: None)
|
||||
-r, --recursive Copy directories recursively (default: False)
|
||||
-F, --fixed-strings Don't expand macros in <src> and <dst> (default: False)
|
||||
============= Running: jw-pkg.py -t ../../../.. --log-level info posix tar --help
|
||||
usage: jw-pkg.py posix tar [-h] ...
|
||||
|
|
|
|||
Loading…
Reference in a new issue