command: rsync -vrlKtpz --update --stats --progress -e ssh src/ dst/ I am updating files on destination, keeping the ones on dst/ that are more recent. Both under src and dst there is a symlink, however the one in dst has changed its target and has a more recent date. For me the latter is newer than the old one in src/ When I execute the command above the symlink in dst/ is reset to the old target It still has in src/.
One more thing that may be useful: system on src/ side is a Mandriva 06 with Linux 2.6.14 and ext3 and rsync 2.6.6. System on dst/ is Mac OS X 10.4 with HFS and rsync 2.6.3.
Created attachment 2451
Symlinks are not affected by the --update option. This option just affects file transfers. One reason for this is that many systems cannot preserve the modification time of a symlink, so a copy of an old symlink can have a newer timestamp than a symlink that was created more recently (e.g. if more than 2 systems are involved in the coping process). For multi-direction synchronization, I recommend using a tool designed for that purpose, such as unison.
(In reply to comment #3) > Symlinks are not affected by the --update option. This option just affects > file transfers. I understand the implementation problems that has lead to adopt such a behavior. However I think this is misleading and dangerous. I've lost some links this way and I needed to review a server configuration at hand. At least a warning message, such as "ignoring symlink date, considering the target date" would be good. Cheers.