3.9alpha Hybrid MC/UpdateStream Process
Last updated at 11:29 pm UTC on 10 September 2005
A new update stream process for 3.9alpha is being planned by the Packages Team.
In short, this involves partitioning the image (at the start of 3.9alpha) into Monticello packages which will be maintained by individual/group package owners in separate repositories. The update stream will only be used when arbitrary DoIts must be executed in the image, or when package upgrades must happen in a certain order.
In theory, most package development will happen in the "master" MC repository for that package, by the package owners. However, we also have a 3.9alpha "release" repository (at http://source.squeakfoundation.org/) which is essentially a configuration of all of the packages (making up the 3.9 Basic release) copied from the various master repositories. The 3.9 team can occasionally copy newer versions of packages from the master repositories to the release repository as appropriate during the 3.9alpha cycle. We can also use this release repository to make integration fixes across multiple packages if needed, and feed these fixes back to the package owners.
Practically speaking, we will probably start out with most development happening in the release repository, since only a few packages (such as SMBase, Monticello) currently have their own master repository. But we can gradually move to a more distributed model with various master repositories.
More details on this process will be forthcoming on this page. For now, to get some background on the process, read these emails from the Squeak Email List and the Packages Team list:
Andreas' summary of the hybrid process used in Tweak/iSqueak
Avi proposes using the hybrid model for the Packages team
What goes in the master package repository versus the release repository
Doug's comments on how to incorporate changes in the new process
The latest 3.9alpha image based on the new process is here: http://ftp.squeak.org/3.9/ (Open a Monticello Browser within the image to see what packages are currently loaded.)