- Fix a bug with `--mkpath` if a single-file copy specifies an existing
destination dir with a non-existing destination filename.
+ - Fix `--update -vv` to output "is uptodate" instead of "is newer" messages
+ for files that are being skipped due to an identical modify time. (This
+ was a new output quirk in 3.2.3.)
+
- Avoid a weird failure if you run a local copy with a (useless) `--rsh`
option that contains a `V`.
goto cleanup;
}
- if (update_only > 0 && statret == 0 && file->modtime - sx.st.st_mtime <= modify_window) {
+ if (update_only > 0 && statret == 0 && file->modtime - sx.st.st_mtime < modify_window) {
if (INFO_GTE(SKIP, 1))
rprintf(FINFO, "%s is newer\n", fname);
#ifdef SUPPORT_HARD_LINKS
# Start to prep an --update test dir
mkdir "$scratchdir/up1" "$scratchdir/up2"
-touch "$scratchdir/up1/older" "$scratchdir/up2/newer"
+touch "$scratchdir/up1/dst-newness" "$scratchdir/up2/src-newness"
+touch "$scratchdir/up1/same-newness" "$scratchdir/up2/same-newness"
touch "$scratchdir/up1/extra-src" "$scratchdir/up2/extra-dest"
# Create chkdir with what we expect to be excluded.
rm "$chkdir"/mid/for/foo/extra
# Finish prep for the --update test (run last)
-touch "$scratchdir/up1/newer" "$scratchdir/up2/older"
+touch "$scratchdir/up1/src-newness" "$scratchdir/up2/dst-newness"
# Un-tweak the directory times in our first (weak) exclude test (though
# it's a good test of the --existing option).
'$fromdir/foo' '$todir'" "$chkdir$fromdir/foo" "$todir$fromdir/foo"
# Now we'll test the --update option.
-$RSYNC -aiO --update touch "$scratchdir/up1/" "$scratchdir/up2/" \
+$RSYNC -aiiO --update --info=skip "$scratchdir/up1/" "$scratchdir/up2/" \
| tee "$outfile"
cat <<EOT >"$chkfile"
+dst-newness is newer
+.d ./
>f$all_plus extra-src
->f..t.$dots newer
+.f$allspace same-newness
+>f..t.$dots src-newness
EOT
diff $diffopt "$chkfile" "$outfile" || test_fail "--update test failed"