Spec v5 (2022-04-04)
Make a rolling hash based file diffing algorithm. When comparing original and an updated version of an input, it should return a description ("delta") which can be used to upgrade an original version of the file into the new file. The description provides information of the chunks which:
The real-world use case for this type of construct could be a distributed file storage system. This reduces the need for bandwidth and storage. If user has a local copy of a file stored in the cloud, then changes between these two instances can be synchronized using diff produced by rolling hash.
A library that does a similar thing is rdiff. You don't need to fulfill the patch part of the API, only signature and delta.
Run Tests: make test
Build: make build
Test Coverage: make coverage
Benchmark: make benchmark
Code Analysis: make check
Compile: make compile