Crate rdiff

Source
Expand description

Finds the difference between sequential versions of files.

Based on the rsync algorithm. The BlockHashes struct will find the differences between versions of the same file. It does this through the diff_and_update() method.

§Example

use std::io::Cursor;
use rdiff::BlockHashes;

let mut hash = BlockHashes::new(Cursor::new("The initial version"), 8).unwrap();
let diffs = hash.diff_and_update(Cursor::new("The next version")).unwrap();
println!("Diffs: {:?}", diffs);
// Outputs "Diffs: Diff{inserts: [Insert(0, The next vers)], deletes:[Delete(13, 16)]}"

This crate also contains methods relating to finding the differences between two strings, in the string_diff module. These methods can be used to refine the course differences found through the rsync method.

Modules§

string_diff
Used for finding the minimal set of operations to transform one string into another.

Structs§

BlockHashes
Used for calculating and re-calculating the differences between two versions of the same file
Delete
Represents an operation to delete a certain number of bytes at a particular position in a file
Diff
Represents a series of operations that were performed on a file to transform it into a new version.
Insert
Represents an operation to insert bytes at a particular position into a file