On Dec 18 11:52, Fred Wheeler wrote: > I am seeing strange rsync behavior in cygwin when synchronizing > directories that contain windows shortcuts. When a shortcut foo.lnk > gets modified, rsync creates both a foo and foo.lnk file in the > receiving side. Repeated runs of rsync print output as if the extra > file is removed, but it never really is. The test case below > demonstrates the problem. > > cygcheck.out attached. > I've been having this problem for a while - maybe a couple of years. > > # create 2 working directories > mkdir /tmp/A > mkdir /tmp/B > > # create a directory to sync > mkdir /tmp/A/foo > > # create a shortcut > cd /tmp/A/foo > mkshortcut \ > --arguments="mintty" \ > --name="winshortcut" \ > --workingdir="$HOME" \ > /bin/run > > # rsync 'foo' - works fine > rsync -rt --itemize-changes --update --delete /tmp/A/foo /tmp/B > # 2nd rsync does nothing - as expected > rsync -rt --itemize-changes --update --delete /tmp/A/foo /tmp/B > > # files in each synced directory look fine - same time stamp and size > ls -l /tmp/A/foo > ls -l /tmp/B/foo > > # touch the shortcut > touch /tmp/A/foo/winshortcut.lnk > > # here is where the proble first happens I think > # rsync 'foo' - appears to work fine > rsync -rt --itemize-changes --update --delete /tmp/A/foo /tmp/B
Thanks for the report. I see where the problem occurs. It's one of the hoops the rename(2) function jumps through to support .lnk-style symlinks which has a buggy condition. This should be fixed in CVS. If you're not set up to build your own Cygwin, please give the next developer snapshot a try. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple