Feature: Checksum-based whole-file comparison (-c, --checksum) #183
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Corresponding rsync flags/behavior:
-c, --checksum— skip files based on checksum instead of size + mtimeCurrent FastSync behavior:
Incremental mode (
--incremental) compares file size and mtime insrc/shared/file.c:333-334. The delta transfer (--delta) only applies after a file is deemed changed. There is no whole-file checksum comparison.Proposed changes:
-c, --checksumbool use_checksumSTATUS_CHECKSTATUS_OKif it matches--deltais enabledSTATUS_CHECKpayload to include a checksum field, or add a newSTATUS_CHECKSUMstatusPriority: medium
Rationale: Size+mtime can miss content changes that preserve mtime or when clocks are unreliable. Checksum-based comparison is the safest skip heuristic and a common rsync workflow.
Acceptance criteria:
client -c /src /dstskips files whose xxHash matches the destination--incrementaland--delta