Thanks Chris, I'll give it a try.
Dave
On Thu, Mar 30, 2017 at 08:37:13PM -0500, Chris Muller wrote:
Hi Dave,
Yes, because of the format change I used Ma object serializer, because it is mostly agnostic to the squeak version. I've attached version of Ma Object Serializer of that time which can run correctly in that image. After loading that SAR, you can export the object with something like this:
MaObjectSerializer new fileOut: SSRepository current storage toFileNamed: 'data.obj.ma' in: FileDirectory default.
Now, you can go into a 5.1 / recent image and use Ma object serializer to load it. Unfortunately, there was a minor file-format change since that 2009 version, so you have to use that same version to load it initially. Load the same SAR into the 5.1 image to iniitally load the object.
MaObjectSerializer fileIn: '/the/fully/qualified/filename' "inspect it?"
Now you can finally load Ma Serializer 1.6 from SqueakMap, and export the object one last time, this time in the "new" Ma format.
MaObjectSerializer new fileOut: self toFileNamed: 'data.obj' in: FileDirectory default
It should now be ready to use with the latest code at source.squeak.org/ss. You can test with just the data.obj file you don't need any of the MCZ's.
When the time comes, we should run the new server with just good ol'e SSFilesystem repository. No image persistence and no Magma. The save time is slow, but it runs in the background and if new commits come in in the meantime, it'll just save again after the current save is done. It keeps the last 35 or so generations of backup obj files.
- Chris
On Thu, Mar 30, 2017 at 6:01 PM, David T. Lewis lewis@mail.msen.com wrote:
On Fri, Mar 24, 2017 at 01:57:25PM -0500, Chris Muller wrote:
Squeaksource is important. Is there any reason not to update the image and code ASAP?
Hi Chris,
I have not had much time to look at this, but can you say anything about what is required to read the serialized repository from the old image into an up to date SqueakSource image? I think I remember you saying that you had used Magma serializer to do this, but I don't know what issues may have been involved.
I have tried generating a new data.obj from the current squeaksource.com image, then loading it into Squeak 4.6 or a 32-bit Squeak 5.0, but ReferenceStream deserializing is failing fairly early in the load. The data.obj is fine, because I can reload it into the original image. But I am not able to load it into either the V3 or Spur 32 bit images with newer SqueakSource package, so I am suspecting that this may be something to do with class changes in the SqueakSource package. I can probably figure it out, but I thought I should ask you first before I spend much time debugging. Does any of this ring a bell for you?
Thanks! Dave