Rsync itemizing "t" (should be "T") when lutimes fails on
matt at mattmccutchen.net
Mon Mar 10 04:23:15 GMT 2008
IIUC, the new philosophy of symlink times is that -t preserves them to
the extent that they are settable; when they aren't, it's just as if -t
wasn't given. But rsync breaks this principle in the following case.
Suppose rsync is configured with HAVE_LUTIMES enabled but the lutimes
call doesn't actually work (I simulated this via the attached patch).
When rsync recreates a destination symlink to update its target path,
rsync will fail to preserve the time, but it nevertheless itemizes "t".
It should itemize "T" because the time is being incidentally changed,
ln -s ta a
ln -s tb b
rsync-dev -i -lt a b
stat --format='%Y %n' a b
# Rsync claims to have preserved the time...
cL..t...... a -> ta
# ... but it differs
The problem is that, for a recreated symlink (as opposed to a tweaked
one), the generator itemizes ITEM_REPORT_TIME whether it succeeded or
failed in setting the time. On a push, the sender is doing the logging
and can't check the generator's FLAG_TIME_FAILED, so there is no way for
it to tell these two cases apart; they have to look different in the
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 706 bytes
Desc: not available
Url : http://lists.samba.org/archive/rsync/attachments/20080310/c9373066/fake-lutimes.bin
More information about the rsync