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