How to move a method from one package to another in the Trunk (was: Re: [squeak-dev] The Trunk: Graphics-fbs.209.mcz)

Frank Shearar frank.shearar at gmail.com
Wed Apr 24 18:23:17 UTC 2013


On 24 April 2013 16:47, Levente Uzonyi <leves at elte.hu> wrote:
> On Tue, 23 Apr 2013, Frank Shearar wrote:
>
>>
>> I've pushed out a new config map, update-fbs.231, which loads Morphic
>> before Graphics, thus ensuring that there's always a #asGrafPort in
>> the image. I still don't like that Cog sprang a leak there, but at
>> least things are back on track.
>>
>> All I'd wanted to do was move a method from one package to another: I
>> really hadn't expected to completely smash updating. Is there anything
>
>
> Instead of changing the order of packages in the config map, you could have
> created a map which contains the new version of Morphic (which contains the
> method), but still the previous version of Graphics (which also has the
> method). So when that update map is fully processed, the method is still in
> the image (in 2 packages). The method will be removed from Graphics, when
> the updater loads the newer version of it.
>
>> I could have done before pushing to trunk to prevent this?
>
>
> Yes. This is how we used to do it:
> 1) upload the package which you want to contain the method (in this case
> Morphic)
> 2) create a new update map (containting the latest version of all packages
> as usual)
> 3) upload the package which you don't want to contain the method (in this
> case Graphics)
>
> This way you don't have to tweak the update map.

Thanks. This is more "how do I do this when I know it'll smash things
up" when I was asking more "how can I know that this will smash things
up". But perhaps "do it whenever you move a method between packages"
is a good enough heuristic to avoid most pain points.

frank

> Levente
>
>>
>> frank
>>
>>
>


More information about the Squeak-dev mailing list