[Pharo-project] Monticello Version Info

Camillo Bruni camillobruni at gmail.com
Thu Mar 1 17:15:40 EST 2012


well, you usually cache the mcz in your local directory cache (at least that's the default).
and extracting the meta-data out of a local mcz is rather cheap since zip allows you to directly extract certain files.

maybe we could add another entry to the mcz with just the stripped down version info in it. this way older monticello versions would still be able to load it the slow way, whereas an updated version could benefit from incremental loading?


On 2012-03-01, at 23:11, Nicolas Cellier wrote:

> I think the main reason is that you cannot load just the metadata, but
> the whole mcz when you need to dig into the history...
> That ain't cheap, and that happens when you merge more or less distant branches.
> 
> Also, it's not unusual to upload directly version N+5 without the
> whole N+1 to: N+4 ancestry...
> In this case MC can still find a common ancestor.
> 
> Nicolas
> 
> Le 1 mars 2012 23:07, Dale Henrichs <dhenrich at vmware.com> a écrit :
>> For the majority of use cases I think that the immediate ancestor is the only one needed ... so you might be onto something here...
>> 
>> Dale
>> 
>> ----- Original Message -----
>> | From: "Camillo Bruni" <camillobruni at gmail.com>
>> | To: "Pharo Development" <pharo-project at lists.gforge.inria.fr>
>> | Sent: Thursday, March 1, 2012 1:53:48 PM
>> | Subject: [Pharo-project] Monticello Version Info
>> |
>> | 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...
>> |
>> 
> 





More information about the Pharo-dev mailing list