Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide more information to writedata callback. #22

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

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