I working on a program that stores proprietary objects in a database (as BLOBs). We'd like to add a versioning capabilities (so the user can store multiple versions of an object with timestamps, etc.).
One approach is to use database and store each version in the object in a separate BLOB.
Another approach is to keep all versions of the object in a single BLOB. In this case I need to provide some versioning mechanism. I don't want to develop a code for this task from scratch. There are many version control systems around, but I am trying to find a library or C++ code that what allow me to perform some very simple tasks:
- Efficient storage of deltas
- Quick access to the list of revisions
- Ability to extract, replace and add revisions
I use C++ Builder from Embarcadero.
any advice on how to embed simple revision handling mechanism into the code?
As you say, there are a few native revision control databases that can handle this quite efficiently. TerminusDB has a Rust library for its store - not C++...