[BUG][SM2] Upgrading SM2 Base from 0.91 to 0.92 deletes VersionNumber>>versionStringOn:

Avi Bryant avi at beta4.com
Sun Jan 25 19:26:16 UTC 2004


On Jan 25, 2004, at 8:11 AM, goran.krampe at bluefish.se wrote:

> ned at squeakland.org wrote:
>> I took a 3.7a-5623 image, opened a Package Loader, installed 
>> Monticello,
>> and then tried to upgrade to SqueakMap2 base 0.92 (from 0.91).
>
> Yes, this is interesting. I consider this to be some sort of bug in
> Monticello. In 0.91 I had two methods #verstionString and
> #versionStringOn: as loose methods in class VersionNumber.
>
> Then I realised after some confusion that #versionStringOn: isn't mine 
> -
> it is already there in Stephen's original package. Not sure how this
> came to be.
>
> (Strangely enough in my image #versionString also has "svp" as 
> initials,
> have no idea.)
>
> So in 0.92 I naively recategorized #verstionStringOn: back to 
> "printing"
> instead of "*smbase-printing". But... the snapshot of SMBase now
> suddenly doesn't have that loose method anymore - so instead of
> recategorizing it to "printing" when you upgraded from 0.91 to 0.92, it
> simply removed the method! Ooops. (Note: But not if you only have
> MCInstaller in your image)

It's because you categorized it as *smbase-printing not 
*smbase-override.  Because it wasn't marked as an override, MC sees you 
as having "stolen" that method (ie, maybe you control both packages and 
were moving it from one to the other).  So when it then disappears from 
SMBase, it gets removed from the image.  If it were marked as an 
override and then disappeared, it would get reverted back to the 
VersionNumber version.

What you should do is change it to *smbase-override now, and then 
you'll be relatively safe to remove it in the next version.

Make sense?

Avi




More information about the Squeak-dev mailing list