3 ms·
If you just need to restore older versions of a (non-text) doc and don't need to support things like diff and merge, a handy approach is to store all the steps
by eschneider 3y ago
If you just need to restore older versions of a (non-text) doc and don't need to support things like diff and merge, a handy approach is to store all the steps needed to create the doc, same as you would to implement undo/redo and allow "tagging" the operation stream to create your versions.
There are a lot of ways to optimize this sort of thing in practice so it runs reasonably, but that's an exercise for the implementer.