-x/--one-file-system drops the cross-device mount-point directory entirely; rsync emits the directory entry (empty) and skips its contents. RSYNC_COMPAT.md claims it "matches rsync" — it does not.
--include/--exclude are not a single ordered first-match list: excludes run first, then any include list acts as a mandatory whitelist, so the common --include='*.txt' --exclude='*' idiom fails and --include alone excludes everything else. Fix: compile include/exclude in command-line order into the same ordered rule list used by --filter.
Missing inline = forms: --exclude=, --include=, --exclude-from=, --include-from=, --log-file= are only accepted as separate arguments. rsync accepts both.
--filter doc note says -f is not reassigned, but -f IS bound to --filter and advertised in help (stale note).
Add tests for include-order and mount-point dir.
Audit findings.
- `-x/--one-file-system` drops the cross-device mount-point directory entirely; rsync emits the directory entry (empty) and skips its contents. RSYNC_COMPAT.md claims it "matches rsync" — it does not.
- `--include`/`--exclude` are not a single ordered first-match list: excludes run first, then any include list acts as a mandatory whitelist, so the common `--include='*.txt' --exclude='*'` idiom fails and `--include` alone excludes everything else. Fix: compile include/exclude in command-line order into the same ordered rule list used by `--filter`.
- Missing inline `=` forms: `--exclude=`, `--include=`, `--exclude-from=`, `--include-from=`, `--log-file=` are only accepted as separate arguments. rsync accepts both.
- `--filter` doc note says `-f` is not reassigned, but `-f` IS bound to `--filter` and advertised in help (stale note).
Add tests for include-order and mount-point dir.
Fixed. -x emits the mount-point directory entry (empty) and skips its contents (plain -x), while -xx drops it entirely; --include/--exclude are compiled in command-line order into the same ordered first-match rule list as --filter; inline = forms (--exclude=, --include=, --exclude-from=, --include-from=, --log-file=) are accepted. Stale -f/sendfile note removed. Closing as completed.
Fixed. `-x` emits the mount-point directory entry (empty) and skips its contents (plain `-x`), while `-xx` drops it entirely; `--include`/`--exclude` are compiled in command-line order into the same ordered first-match rule list as `--filter`; inline `=` forms (`--exclude=`, `--include=`, `--exclude-from=`, `--include-from=`, `--log-file=`) are accepted. Stale `-f`/sendfile note removed. 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.
-x/--one-file-systemdrops the cross-device mount-point directory entirely; rsync emits the directory entry (empty) and skips its contents. RSYNC_COMPAT.md claims it "matches rsync" — it does not.--include/--excludeare not a single ordered first-match list: excludes run first, then any include list acts as a mandatory whitelist, so the common--include='*.txt' --exclude='*'idiom fails and--includealone excludes everything else. Fix: compile include/exclude in command-line order into the same ordered rule list used by--filter.=forms:--exclude=,--include=,--exclude-from=,--include-from=,--log-file=are only accepted as separate arguments. rsync accepts both.--filterdoc note says-fis not reassigned, but-fIS bound to--filterand advertised in help (stale note).Add tests for include-order and mount-point dir.
Fixed.
-xemits the mount-point directory entry (empty) and skips its contents (plain-x), while-xxdrops it entirely;--include/--excludeare compiled in command-line order into the same ordered first-match rule list as--filter; inline=forms (--exclude=,--include=,--exclude-from=,--include-from=,--log-file=) are accepted. Stale-f/sendfile note removed. Closing as completed.