My application is going to edit a bunch of large files, completely unrelated to each other (belonging to different users), and I need to store checkpoints of the previous state of the files. Delta compression should work extremely well on this file format. I only need a linear history, not branches or merges.
There are low-level libraries that give part of the solution, for example xdelta3
sounds like a good binary diff/patch system.
RCS
actually seems like a pretty close match to my problem, but doesn't handle binary files well.
git
provides a complete solution to my problem, but is an enormous suite of programs, and its storage format is an entire directory.
Is there anything less complicated than git
that would:
- work on binary files
- perform delta compression
- let me commit new "newest" versions
- let me recall old versions
Bonus points if it would:
- have a single-file storage format
- be available as a C, C++, or Python library
I can't even find the right combination of words to google for this category of program, so that would also be helpful.