Skip to content

Conversation

@drake127
Copy link
Contributor

Forwards information about what data block is being written to writedata() callback.

It does nothing for current implementation but it becomes very useful when using bsdiff as a library with custom stream processing.

The mendsley's implementation uses single interleaved data stream which has its advantages but creates larger patch files than vanilla bsdiff. This change allows us to easily generate both mendsley's and vanilla bsdiff patches as needed.
In addition, thanks to this change, it is possible to experiment with stream compression and use e.g. LZMA for extra data stream and keep bzip2 for control a diff streams. In my testing, this generates smallest possible patch files.

Emanuel Komínek and others added 14 commits September 15, 2018 19:48
…revious record (original bsdiff produces records having both the first and second item zeroes, i.e. representing only a seek in the old file).
Merging control records having zero in their first triplet with the p…
Forwards information about what data block is being written to writed…
Fixed previous merge.
C++ compatibility: "new" is reserved word in C++, thus I renamed old->source and new->target.
C++ compatibility: Added extern "C" for C++ code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant