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

Levente Uzonyi leves at elte.hu
Thu Apr 25 02:29:23 UTC 2013


On Wed, 24 Apr 2013, Frank Shearar wrote:

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

Indeed. If you care about people who try to keep updating their long 
forked Trunk-based images, then this can help them a lot.


Levente

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


More information about the Squeak-dev mailing list