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