I am still having a look at the Monticello implementation. Now coming from the git world, this seems very weird:
Why does each Monticello version store the complete ancestor history? ------------------------------------------------------------------------ Wouldn't it simply be enough to keep pointers to the immediate ancestors, and then lazily load and cache them? Where is the complete ancestry needed, besides diffing/merging? ------------------------------------------------------------------------ The current setup implies that something like MCCacheRepository default loadVersionFromFileNamed: 'SLICE-Issue-5416--Improve-MC-version-loading-CamilloBruni.1.mcz' takes around 1.5 seconds to complete, whereas this could be done in a fragment of a second for most cases...
