[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
|