Hi Marcus,

On Thu, Aug 1, 2013 at 12:33 AM, Marcus Denker <[email protected]> wrote:
>
> On Aug 1, 2013, at 8:56 AM, Stéphane Ducasse <[email protected]> 
> wrote:
>
>> since years marcus is telling that MC storing ancestor information is doomed 
>> but we do not have something to really replace it.
>>
>
> This is yet another thing.
>
> Monticello keep all history data of all package in image, this is not a 
> cache. When you delete it, your package loses
> it's history and you can not merge anymore.
>
> MCVersionInfo allInstances do: [ :each | each instVarNamed: 'ancestors' put: 
> nil ].

When I looked at this I noticed that there was lots of duplicate
entries in the ancestry list.  I *think* this happens on merge.  I
think one ends up with each of the ancestries of the merged packages
after a merge, i.e. when merging near the head one effectively doubles
the ancestry.  I think Monticello should unique the ancestry, either
after a merge, or better still, before saving.  This I think will
shrink the space taken by ancestry significantly.

I have some code handy if you'd like, but its not a hard thing to do.

>
> We did that on Pharo2 release and it saved 8MB (nearly a third of the image).
>
>         Marcus



-- 
best,
Eliot

Reply via email to