rsync 3.4.1 drop-in parity (#285-#297) + parity completion (protocol 2.26.0) #298

Merged
TapTap merged 77 commits from feat/rsync-parity into dev 2026-09-17 20:33:17 +02:00
2 changed files with 14 additions and 10 deletions
Showing only changes of commit 845f20a28d - Show all commits
+4 -4
View File
@@ -66,11 +66,11 @@ void print_usage(void) {
printf(" transfer has succeeded)\n"); printf(" transfer has succeeded)\n");
printf(" --delete-before Delete extras before the transfer starts\n"); printf(" --delete-before Delete extras before the transfer starts\n");
printf(" (implies --delete)\n"); printf(" (implies --delete)\n");
printf(" --delete-during Delete extras once the keep-set manifest is known,\n"); printf(" --delete-during Delete a directory's extras as that directory is\n");
printf(" before the data is applied (implies --delete)\n"); printf(" processed (implies --delete)\n");
printf(" --del Alias for --delete-during\n"); printf(" --del Alias for --delete-during\n");
printf(" --delete-delay Delete extras only after a successful transfer\n"); printf(" --delete-delay Record the extras during the scan but remove them\n");
printf(" (implies --delete)\n"); printf(" only after a successful transfer (implies --delete)\n");
printf(" --delete-after Delete only after the whole transfer succeeded\n"); printf(" --delete-after Delete only after the whole transfer succeeded\n");
printf(" (the default --delete timing; implies --delete)\n"); printf(" (the default --delete timing; implies --delete)\n");
printf(" --delete-excluded Also delete destination files that were excluded on\n"); printf(" --delete-excluded Also delete destination files that were excluded on\n");
+10 -6
View File
@@ -547,13 +547,17 @@ typedef struct Config {
/* rsync deletion-timing family (real from Phase 3). At most one of /* rsync deletion-timing family (real from Phase 3). At most one of
delete_before / delete_during / delete_delay / delete_after may be set, and delete_before / delete_during / delete_delay / delete_after may be set, and
only together with use_delete (the CLI implies --delete for each of them). only together with use_delete (the CLI implies --delete for each of them).
delete_before and delete_during select the EARLY engine mode: the keep-set delete_before selects the EARLY engine mode: the whole-tree keep-set
manifest is transmitted before any file data and extras are removed then, manifest is transmitted before any file data and extras are removed then,
acknowledged, before the first data byte. delete_delay and delete_after acknowledged, before the first data byte. delete_during and delete_delay
select the LATE commit mode: extras are removed only after the whole select the per-directory delete-plan mode (protocol 2.24.0): one plan per
transfer has succeeded (plain --delete keeps this mode). The exact source directory is streamed in directory order, and the receiver removes
semantics and the divergences from rsync are documented in RSYNC_COMPAT.md each directory's extras when its plan arrives (during) or snapshots them
and in config_delete_timing_early() below. */ and removes them only after a successful transfer (delay). delete_after
(and plain --delete) keep the whole-tree commit mode: extras are removed
from a fresh end-of-transfer destination scan only after the whole transfer
succeeded. See config_delete_timing_early()/config_delete_timing_per_dir()
below. */
/* partial_dir */ /* partial_dir */
// PR #174: Partial transfer resumption // PR #174: Partial transfer resumption
/* suffix */ /* suffix */