[squeak-dev] Updated instructions for trunk updating configurations

Chris Cunningham cunningham.cb at gmail.com
Sun Feb 18 22:30:59 UTC 2018


Based on feedback from last round of asking for feedback (and a few
spelling fixes, too).  I have removed discussion about the method movement,
since it *should* just work; and I've put pointers in for new topic on
renaming classes.

Plus, we'll need to document what is happening in Congifurations and
Monticello, maybe, to make it more reasonable to use these.

-----
When and How to change the trunk update configuration:
* First, only create a configuration when it is necessary.  Extra
configurations slow down the update process.  BUT, missing a config that
should be there BREAKS the update process.  Ask when not sure
* 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 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)
* When you are renaming a class (follow the instructions for class renaming
in trunk)
* 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
* When you are unsure - ask.  If no response in a reasonable time (day(s),
or sooner if it is to patch a broken trunk process, to wait for a
response), then go ahead a build a config.

To update the configuration:
1. Update from trunk to the latest
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180218/59f2aaae/attachment.html>


More information about the Squeak-dev mailing list