[BUG][MC] New MC doesn't merge with old versions

Colin Putney cputney at wiresong.ca
Fri Aug 22 18:33:02 UTC 2003


On Friday, August 22, 2003, at 08:04  AM, Brian Brown wrote:

>
> On Friday, Aug 22, 2003, at 04:52 America/Denver, Marcus Denker wrote:
>>>
>> Hi Avi,
>>
>> I just tried to install Monticello-ab.3.mcz in my images. (I'm
>> tracking Monticello releases, so the one in the image
>> is the one you sent as a .cs to the list).
>>
>> After installing Monticello-ab.3.mcz I get a dnu if I click
>> on any file in the FileList2:
>>
>
> This was actually present for me in the Monticello-ab.2.mcz. The 
> problem is that MCDirectoryRepository is registered via FileList 
> class>>registerFileReader: and it doesn't have the requisite method 
> (which is class fileReaderServicesForFile:suffix: )- MCBootstrapLoader 
> and MCReader both have it, though.
>
> (Which one of those should be registered)
>
> So, in a workspace I evaluated:
> 	FileList unregisterFileReader: MCRepositoryDirectory.
>
> That will fix the problem, but won't allow loading MC packages from a 
> FileList

This problem actually goes back to the previous release of Monticello. 
In between 1.159 and 1.216 I did a refactoring of the serialization 
code, and support for reading various formats moved out of 
DirectoryRepository and into subclasses of MCReader. Looks like I set 
up the class initialization methods to handle bootstrapping properly, 
but missed the issue of migrating existing installations.

Not being sure what state your image is in, I'll tell you what you want 
to aim for. If you explore 'FileList allRegisteredServices' you should 
see 7 Monticello services, which handle .mc, .mcv and .mcz files:

MCMczReader --- loadVersionFile:
MCMczReader --- mergeVersionFile:
MCMczReader --- openVersionFile:
MCMcvReader --- loadVersionFile:
MCMcvReader --- mergeVersionFile:
MCMcvReader --- openVersionFile:
MCMcReader --- loadSnapshotFile:

The following snipped will probably fix things up:

FileList unregisterFileReader: MCDirectoryRepository.
FileList unregisterFileReader: MCDictionaryRepository.
MCReader initialize.

Hope this helps,

Colin



More information about the Squeak-dev mailing list