rdiff
TLDR
Create signature file
$ rdiff signature [original] [signature.sig]
Create delta from signature$ rdiff delta [signature.sig] [new_file] [delta.delta]
Apply delta to recreate$ rdiff patch [original] [delta.delta] [output]
SYNOPSIS
rdiff command [options] files
DESCRIPTION
rdiff computes and applies binary deltas using the rsync algorithm. It enables efficient file synchronization by transferring only the differences between files.
PARAMETERS
-b blocksize
Block size for signature.-s, --statistics
Show statistics.-S sum
Strong checksum length.
EXAMPLES
$ # Create signature
rdiff signature original.tar sig.sig
# Create delta (only differences)
rdiff delta sig.sig modified.tar changes.delta
# Apply delta to recreate file
rdiff patch original.tar changes.delta reconstructed.tar
# With statistics
rdiff -s signature largefile sig
rdiff signature original.tar sig.sig
# Create delta (only differences)
rdiff delta sig.sig modified.tar changes.delta
# Apply delta to recreate file
rdiff patch original.tar changes.delta reconstructed.tar
# With statistics
rdiff -s signature largefile sig
COMMANDS
signature basis [sig]
Create signature of basis file.delta sig new [delta]
Create delta from signature and new file.patch basis delta [output]
Apply delta to basis file.
WORKFLOW
$ 1. Create signature of original (small)
2. Send signature to remote
3. Remote creates delta against new file
4. Send delta back (efficient)
5. Apply delta to reconstruct
2. Send signature to remote
3. Remote creates delta against new file
4. Send delta back (efficient)
5. Apply delta to reconstruct
CAVEATS
Part of librsync. Basis file needed for patch. Signature must match original file version.
HISTORY
rdiff uses the rsync algorithm by Andrew Tridgell, implemented in librsync by Martin Pool.


