Bug 5442 - setting times to symlinks which do not point to existing files causes error reports
setting times to symlinks which do not point to existing files causes error r...
Status: CLOSED WORKSFORME
Product: rsync
Classification: Unclassified
Component: core
3.0.3
All Mac OS X
: P3 normal
: ---
Assigned To: Wayne Davison
Rsync QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-05-06 05:18 UTC by Izidor Jerebic
Modified: 2008-07-28 20:38 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Izidor Jerebic 2008-05-06 05:18:51 UTC
When changing times on a symlink in Mac OS X, the system actually sets the times on the symlink destination file. If the destination file does not exist, syscall returns error.

This behaviour causes rsync to report many "failed to set times on" errors when source/destination directories contain symlinks which do not point to existing files. It would be nice if (on Mac OS X only) setting of times to symlinks would be appropriately guarded or not executed at all since it does not behave correctly.
Comment 1 Wayne Davison 2008-05-06 09:52:30 UTC
Rsync only tries to set times on symlinks if the lutimes() function exists.  On my version of OS X (Panther) the setting of the time on a symlink worked fine.  If your system says it has lutimes() but it doesn't work, comment out the HAVE_LUTIMES in config.h and recompile.