[squeak-dev] [ANN] MCInfoProxy

H. Hirzel hannes.hirzel at gmail.com
Thu Aug 15 14:42:26 UTC 2013


On 8/15/13, Frank Shearar <frank.shearar at gmail.com> wrote:
> On 14 August 2013 19:57, Chris Muller <asqueaker at gmail.com> wrote:
>> A little ditty to move toward sustainable ancestry.  After selecting
>> "flush cached versions" from the menu, the ancestry-tree will now be
>> like this:
>>
>> aMCVersionInfo.27
>>      'ancestry' = anArray
>>           1 = aMCVersionInfo.26
>>                'ancestry' = anArray
>>                     1 = aMCVersionInfo.25
>>                          'ancestry' = anArray
>>                               1 = aMCInfoProxy(trimmed  'info',
>> 'repository' to re-retrieve it)
>>
>> Truncating the ancestry hierarchies this way recovers about 2.5MB of image
>> size.
>>
>> Special notes:
>>
>> - It keeps the most-recent 10 and snips off the ancestry starting
>> 10-versions ago to replace it with a MCInfoProxy.  Most any operation
>> that uses ancestry will cause the original full MCVersionInfo tree to
>> need to be re-retrieved.
>>
>> - This assumes the Info of 10 versions ago exists in the same
>> repository as the current version.  In practice, it normally will.
>>
>> - When a new version is saved after recovering the Info tree from
>> ANOTHER FILE. (e.g., the one 10 versions ago) the result is an
>> ancestry tree built from multiple files.  But it's the same tree, so
>> this should be no problem.
>
> I'm sure you're already thinking about this, but we need to be careful
> to maintain compatibility with old MCZs. In particular, we need to be
> able to consume MCZs with full histories, and have images without this
> enhancement still work with the new style MCZs.
+1
> It might well be worth
> asking some Pharo folks what they think, and maybe coordinate a bit
> across dialects.
>
> frank
>
>


More information about the Squeak-dev mailing list