docs: rsync feature compatibility matrix #199
Reference in New Issue
Block a user
Delete Branch "docs/rsync-compat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds RSYNC_COMPAT.md — comprehensive mapping of 141 rsync features to FastSync implementation status.
Includes priority recommendations for next features to implement.
64a4a8345ato0b68974b42PR Review
CRITICAL
[1] RSYNC_COMPAT.md:143 —
-l,--linksincorrectly marked ✅Symlink targets are never transmitted or recreated on the receiving side.
FileMetadatastores mode/uid/gid/mtime — NOT the link target path.file_restore_metadata()useschmod()/chown()which cannot create symlinks.to_disk()always creates a regular file viafwrite(). Nosymlink()call exists anywhere in the codebase.[2] RSYNC_COMPAT.md:118 —
-p,--permsincorrectly marked ✅-pis repurposed for SSH port (client_cli.c:69-72).--permsis never parsed — triggers "Unknown option" error. Permissions ARE preserved through-M/--preserve, but-phas different semantics.WARNING
[3] RSYNC_COMPAT.md:162 —
-c,--checksumhave different semantics-cis an alias for compression (not checksum).--checksumsetsconfig->checksum.[4] RSYNC_COMPAT.md:190 —
--addressnote is wrong--addresssetsconfig->address, NOTconfig->bind_address. These are separate flags.[5] RSYNC_COMPAT.md:85,164 —
--whole-fileduplicatedAppears in both Section 5 (
-W,--whole-file) and Section 11 (--whole-file). Same rsync flag.[6] RSYNC_COMPAT.md:215,238 —
--secluded-argsduplicatedAppears in both Section 15 and Section 17. Same rsync flag.
[7] RSYNC_COMPAT.md:9 — Summary counts don't match actuals
Actual unique rows: ~137, not 142. Counts are off by ~3.
STYLE
[8] RSYNC_COMPAT.md:178 —
--skip-compressnote misleadingInternal skip list is hardcoded, not user-configurable like rsync's
--skip-compress=LIST.[9] RSYNC_COMPAT.md:86 —
--block-sizenote incompleteFastSync uses it for delta blocks, not checksum blocks like rsync.
VERDICT
[FAIL] — 2 critical issues:
-l/--linksand-p/--permsincorrectly marked ✅ Implemented.