On Thu, Mar 08, 2007 at 08:56:54PM +0200, Jaco Kroon wrote: > For some strange reason, whenever I recreate the source file, even > though it's identical to the old source file --link-dest simply does not > create the link.
The file isn't identical enough to hard-link unless every preserved detail is identical. So, when using -a (which implies --times, as you noted), the mtime has to be the same for the files to get hard-linked together. However, adding --no-times is not enough because rsync still has to identify the file as unchanged, and that requires the file to have the same size and mtime UNLESS you use the -c (--checksum) option. Using -c, rsync will read each file, comparing the checksum, and then hard-link any matches (as long as you aren't trying to set a conflicting attribute on the destination file, such as mtime, permissions, group, etc.). Helpful hint: Use -i (--itemize-changes) to see why rsync considers a file to be different: if it mentions the file's name in a link-dest copy, the file is not being hard-linked. This sequence of commands should work for you: mkdir a echo foo > a/tmp rsync -avi a/ b.1/ touch a/tmp rsync -avic --no-t --link-dest=../b.1 a/ b.0/ ..wayne.. -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html