rsync -a --update resets status of newer target directories
Matthias Schniedermeyer
ms at citd.de
Tue Jan 21 15:14:47 MST 2014
On 21.01.2014 10:07, Linda Walsh wrote:
Wow. Your E-Mail is quite an unreadable HTML mess.
> Then how does "-u" work with files? If what you say is true, then
> how would you preserve a newer mtime on the files on the target?
> That is what "-u" does. Yet you claim this is impossible because
> it isn't unidirectional?
There is a thing called "special case".
Only because there is a "special case" doesn't mean that the general
description is invalid.
And frankly i didn't think of -u at the time, as it is one of those
obscure "only for special cases" parameters that has such a narrow
use-case that i personally found no use for it. Same goes for quite a
few of the other "special case" parameters.
And -u is evalutated in list-mode, so it just skips over the files. Once
you get to transfer-mode it's all about difference, which is the point
where rsync changes the directory time when it was different. There is a
slight difference for directories, you still have to enter them, you
can't just skip over them (Of course assuming running in standard
recursive mode).
You could say the OPs problem is that there isn't a equivalent option to
do the same for directories, or that directories are excluded (Which OP
said what was unexpected). Although i don't know enough about rsyncs
inner workings to know if rsync can skip adding a directory into the
transfer-list while still entering the directory, but as the OP send a
patch later i guess it is.
--
Matthias
More information about the rsync
mailing list