rsync is said to use delta-transfer algorithm to transfer files.
For a preexisting destination file with the same filename as a source file,
Is the delta-transfer algorithm used
- only after rsync have decided to transfer the source file to the destination, or
- during determining whether or not rsync will transfer the source file to the destination?
When rsync has decided to transfer the source file to the destination file,
Does the delta-transfer algorithm transfer the difference between the source and destination files?
Does the delta-transfer algorithm work at the "sub-file" level, by first calculating the patch file between the two files, and then transferring the patch file to the destination, and then applying the patch file to the preexisting destination file to get an identical copy of the source file?
If so, do rsync need to transfer the source file to the destination in order to calculate the patch file between the source and destination files? If yes, doesn't that contradict the purpose of the delta-transfer algorithm to avoid transferring the whole source file?