As part of developing pipeline solutions, I’m working on defining and giving name to the various methods we use in versioning content such as art-work and code. I’m defining them in open-source, wiki-style documents called RFCs stored on GitHub and published at rfc.abstractfactory.io where collaborators fork the corresponding branch and submits pull-requests. The goal of each RFC is to make it possible to reference known solutions in general conversation via short-hand names as opposed to resorting to explanations of what may be thought of as obvious.
Thus far I’ve managed to boil it down into exactly two approaches, Monolithic and Polylithic; continuous overwriting versus incrementally saving respectively including their corresponding tracking of change. The overview is given here, rfc.abstractfactory.io/spec/33 and each definition futher expanded upon here:
Monolithic Versioning Pattern
Polylithic Versioning Pattern
If you can find anything out of place, wrong or missing, this would be an excellent time and place to discuss.
Thanks.
Best,
Marcus