On 8/24/07, Jamie Lokier <[EMAIL PROTECTED]> wrote: > A really nice solution would be for rsync to use the rsync delta > transmission algorithm (or something like it) to compare the set of > file attributes between each end.
I think this is an excellent idea, but it will take a considerable amount of care to implement. To benefit from the delta transfer while maintaining correctness, the two sides need to generate file-list representations of a file F that are identical *if and only if* F needs no changes in the destination. An example of an area in which this is tricky is permissions when --perms is off. If F exists on the destination, its permissions there won't be changed, so a moot difference between F's source and destination permissions shouldn't prevent F's file-list entries from being matched. Thus, the file-list entries participating in the delta transfer can't contain permissions. But if it is discovered during the file-list transfer that a file G exists in source but not destination, the sender has to go back and send the source G's permissions so the receiver can create the destination G with the correct permissions. Thus, two phases are required: initial file-list matching and supplemental attributes. The supplemental attributes could be done in the existing file transfer phase. In addition, the interactions between file-list delta-transfer and incremental recursion will have to be worked out. Matt -- To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html