FastSync --chmod implies --preserve-perms; rsync 3.4.1 does not (it modifies new-file/added defaults only unless -p is on). Verified contrast on an existing dest.
The chmod result is then run through the mode sanitizer, so --chmod=go+w is silently dropped (644 vs rsync 666); setuid/setgid/sticky on files are stripped under -p.
Missing rsync's D/F selectors and X; repeated --chmod replaces instead of appending.
Fix: decide rsync-parity vs documented divergence; add D/F/X and append semantics if parity is the goal; add tests.
Audit findings (`src/client/client_cli.c`, `src/shared/chmod.c`, `src/shared/metadata.c`).
- FastSync `--chmod` implies `--preserve-perms`; rsync 3.4.1 does not (it modifies new-file/added defaults only unless -p is on). Verified contrast on an existing dest.
- The chmod result is then run through the mode sanitizer, so `--chmod=go+w` is silently dropped (644 vs rsync 666); setuid/setgid/sticky on files are stripped under `-p`.
- Missing rsync's `D`/`F` selectors and `X`; repeated `--chmod` replaces instead of appending.
Fix: decide rsync-parity vs documented divergence; add `D`/`F`/`X` and append semantics if parity is the goal; add tests.
Fixed. --chmod no longer implies --preserve-perms; the result is not run through a mode sanitizer (--chmod=go+w yields 666); D/F selectors and X are supported and repeated --chmod accumulates. Differential test vs rsync 3.4.1 added. Closing as completed.
Fixed. `--chmod` no longer implies `--preserve-perms`; the result is not run through a mode sanitizer (`--chmod=go+w` yields `666`); `D`/`F` selectors and `X` are supported and repeated `--chmod` accumulates. Differential test vs rsync 3.4.1 added. Closing as completed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Audit findings (
src/client/client_cli.c,src/shared/chmod.c,src/shared/metadata.c).--chmodimplies--preserve-perms; rsync 3.4.1 does not (it modifies new-file/added defaults only unless -p is on). Verified contrast on an existing dest.--chmod=go+wis silently dropped (644 vs rsync 666); setuid/setgid/sticky on files are stripped under-p.D/Fselectors andX; repeated--chmodreplaces instead of appending.Fix: decide rsync-parity vs documented divergence; add
D/F/Xand append semantics if parity is the goal; add tests.Fixed.
--chmodno longer implies--preserve-perms; the result is not run through a mode sanitizer (--chmod=go+wyields666);D/Fselectors andXare supported and repeated--chmodaccumulates. Differential test vs rsync 3.4.1 added. Closing as completed.