Package: rsync Version: 3.2.7-1 Severity: normal Dear Maintainer,
Excected outcome: I wanted to preserve the time of modification for files that did not exist on target, but do not change files that already exist, even if the modification times differ. Attempted action: I thought that rsync with -t and --ignore-existing would be a perfect fit for that; their summary taken from rsync --help: --times, -t preserve modification times --ignore-existing skip updating files that exist on receiver Actual result: I compared the output of two commands: rsync -rlv --dry-run dir1 dir2 and rsync -rlv --ignore-existing --dry-run dir1 dir2 print the same 3 files, which indeed do not exist on the target. However, rsync -rlvt --dry-run dir1 dir2 and rsync -rlvt --ignore-existing --dry-run dir1 dir2 print a few hundred files. Most of them, with the exception of the mentioned 3, exist in dir2. It seems that --ignore-existing takes no effect when combined with -t: the number of lines returned is the same in both cases. Case of --size-only: I expanded the above combination with --size-only (--help: skip files that match in size), which in my opinion should be sufficient for my use-case on its own, but it didn't help either. Summary: Apparently combining the -t option with --ignore-exisitng or --size-only renders the latter useless. Assuming the best case, their --help strings are inprecise enough that their wrong behaviour is assumed. -- System Information: Debian Release: 12.4 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 6.1.0-17-amd64 (SMP w/12 CPU threads; PREEMPT) Kernel taint flags: TAINT_WARN, TAINT_FIRMWARE_WORKAROUND Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages rsync depends on: ii init-system-helpers 1.65.2 ii libacl1 2.3.1-3 ii libc6 2.36-9+deb12u3 ii liblz4-1 1.9.4-1 ii libpopt0 1.19+dfsg-1 ii libssl3 3.0.11-1~deb12u2 ii libxxhash0 0.8.1-1 ii libzstd1 1.5.4+dfsg2-5 ii lsb-base 11.6 ii sysvinit-utils [lsb-base] 3.06-4 ii zlib1g 1:1.2.13.dfsg-1 rsync recommends no packages. Versions of packages rsync suggests: ii openssh-client 1:9.2p1-2+deb12u2 ii openssh-server 1:9.2p1-2+deb12u2 ii python3 3.11.2-1+b1 pn python3-braceexpand <none> -- no debconf information