LibRsync
Examples
In the following example, the signature file should be computed on the local file, sent to the remote machine where the delta is computed. Then, delta_file must be run on the remote machine, creating a file /tmp/delta. Then, /tmp/delta should be copied to the local machine, and finally patch_file must be applied to write a copy of the remote file in /tmp/new.
extern crate rsync;
use *;