fix(fs): differential-test and reclassify basis dirs, delay-updates, fuzzy, dry-run
Each row's exact residual reproduced against rsync 3.4.1: - basis dirs (--compare/copy/link-dest): FastSync xxHash-verifies a basis hit while rsync --size-only installs the wrong same-size basis content. - --delay-updates: the fixed .fastsync-stage name wipes an unrelated destination entry of that name even without --delete; rsync leaves it. - --fuzzy: deterministic name/size heuristic (10x window), not rsync's matcher. - --dry-run: would-delete report over-reports the updated file and an excluded-but-protected extra, and ordering differs. Docs: RSYNC_COMPAT tally 109/16/31; HANDOFF item 9. clang-format + cppcheck + ASan + full suite clean.
This commit is contained in:
@@ -2264,12 +2264,11 @@ ParallelScanner* parallel_scanner_create_with_options(const char* root_directory
|
||||
transfer root itself (it hands the root's immediate subdirectories to
|
||||
workers), so capture the root's directory time here. */
|
||||
if (options->capture_dir_times &&
|
||||
!scanner_capture_dir_time(options->dir_entries, options->dir_entries_mutex, root_directory,
|
||||
root_directory, options->relative && options->file_list != NULL,
|
||||
options->relative_prefix, options->preserve_atimes,
|
||||
options->preserve_crtimes, options->preserve_xattrs,
|
||||
options->preserve_acls, options->no_implied_dirs,
|
||||
options->file_list)) {
|
||||
!scanner_capture_dir_time(
|
||||
options->dir_entries, options->dir_entries_mutex, root_directory, root_directory,
|
||||
options->relative && options->file_list != NULL, options->relative_prefix,
|
||||
options->preserve_atimes, options->preserve_crtimes, options->preserve_xattrs,
|
||||
options->preserve_acls, options->no_implied_dirs, options->file_list)) {
|
||||
array_list_delete(root_files);
|
||||
array_list_delete(subdirs);
|
||||
parallel_scanner_destroy(ps);
|
||||
|
||||
Reference in New Issue
Block a user