[squeak-dev] Instructions for updating trunk undate config

Eliot Miranda eliot.miranda at gmail.com
Mon Feb 12 03:56:43 UTC 2018


Hi Chris,


> On Feb 10, 2018, at 1:48 PM, Chris Cunningham <cunningham.cb at gmail.com> wrote:
> 
> This one I'm going to need some help on, having never done this before (obviously).
> 
> -----
> When and How to change the trunk update configuration:
> * When you are adding a new package to trunk, update the configuration with the new package (just because a package is in the repository does not mean it is loaded)
> * When you are removing a package from trunk, update the configuration to remove the package (and follow instructions for removing the package)
> * When methods are moved from one package to another - primarily when they are used in the update logic - then create an update with the package where the method is removed and where the method is added in the same update configuration

That's not the safest.  The safest is to create a configuration with the package to which the method is moved, but still containing the version of the package from which the method had moved which still had the method.  This way, the package from which the method is moved will be marked dirty but there is no chance of the method being lost.

> * When you need to ensure a preamble or postscript script is run for a package, include the version in a new configuration (otherwise it could be skipped - trunk only loads the latest version of a package if specific versions are not called out in the update configuration)
> * If you need to do very intricate, step by step surgery on the internals of Squeak itself, such as converting how contexts work, you should use a series of update configurations to ensure step by step applications of the packages so the trunk update is successful
> 
> To perform the modify the update configuration:
> 1. Update squeak.
> 2. Open the trunk package
> 3. Select the 'update' package, find the last update commit, and "Browse" it (with the button)
> 4. In the MCConfigurationBrowser, press the "Update" button and choose "update all from image"
> 5. If you need to add a new package, press the "Add" button and chose the package to add (it needs to be in your image with the right version to add it)
> 6. If you need to remove a package, select the package and press "Remove"
> 7. If you packages are updating that have dependencies between each other (say, adding an abstract class to one package, and a subclass of that abstract class in another package), then you will need to make sure those packages are in the right order.  In this case, find the package with the subclass, and make sure it is after the abstract classes package.  Do this by selecting one package and pressing the "Up" and "Down" keys until the packages are in the right order
> 8. Finally, save the package back to Trunk, and test out the update stream to ensure it works.
> -----
> 
> Thanks,
> cbc
> 


More information about the Squeak-dev mailing list