I use rsync regularly for backups of large trees, sometimes
over low bandwidth links, and I would like to suggest a potentially
major speedup under some circumstances, where files or
folders are moved or renamed.

The principle is simple : often people rename a file, or move
it from one folder to another.  Current behaviour (please correct
me if I am wrong) is for wget to see this as a 'delete' and
an 'add'.  The 'add' results in a complete retransfer of the file.
This could be optimized.

For example, if I move local file 'huge_file' to 'old/huge_file',
a complete retransfer happens to the remote end of the
'new' file.


My proposed implementation is that out the outset, during generation of file lists of local and remote, the checksums of entire files be computed (already happening with --checksum, I believe). Then the local and remote files are sorted by checksum and compared. If two files (one local, one remote) have the same checksums but have a different filename/path on the remote end, the remote end simply moves and renames the file (creating folders etc as appropriate).

Would this work? Has it been covered before?



Thanks for your thoughts

Will Smith


-- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to