The CLI accepts --checksum and the scanner stores the option, but incremental matching still compares only size and second-resolution mtime. Same-size content replaced while preserving mtime can remain stale. Related parsed rsync options such as --update, --append, and --append-verify also have no transfer behavior.
Location
src/client/scanner.c:41-68
src/shared/file.c:440-461
src/client/client_cli.c:356-363
src/client/client_send.c:160-233
Validation
Create a destination file, replace source content with same length, restore its mtime, then run --incremental --checksum and verify the destination. Inspect transfer paths for reads of update/append/append_verify.
Suggested implementation
Negotiate and compare a cryptographic/content checksum when requested, then implement documented update and append semantics or reject unsupported flags rather than silently ignoring them. Add TCP/TLS integration tests.
## Severity
High
## Description
The CLI accepts --checksum and the scanner stores the option, but incremental matching still compares only size and second-resolution mtime. Same-size content replaced while preserving mtime can remain stale. Related parsed rsync options such as --update, --append, and --append-verify also have no transfer behavior.
## Location
- src/client/scanner.c:41-68
- src/shared/file.c:440-461
- src/client/client_cli.c:356-363
- src/client/client_send.c:160-233
## Validation
Create a destination file, replace source content with same length, restore its mtime, then run --incremental --checksum and verify the destination. Inspect transfer paths for reads of update/append/append_verify.
## Suggested implementation
Negotiate and compare a cryptographic/content checksum when requested, then implement documented update and append semantics or reject unsupported flags rather than silently ignoring them. Add TCP/TLS integration tests.
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.
Severity
High
Description
The CLI accepts --checksum and the scanner stores the option, but incremental matching still compares only size and second-resolution mtime. Same-size content replaced while preserving mtime can remain stale. Related parsed rsync options such as --update, --append, and --append-verify also have no transfer behavior.
Location
Validation
Create a destination file, replace source content with same length, restore its mtime, then run --incremental --checksum and verify the destination. Inspect transfer paths for reads of update/append/append_verify.
Suggested implementation
Negotiate and compare a cryptographic/content checksum when requested, then implement documented update and append semantics or reject unsupported flags rather than silently ignoring them. Add TCP/TLS integration tests.