[Pkg] The Trunk: MonticelloConfigurations-cbc.83.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Aug 26 23:44:16 UTC 2010
Bert Freudenberg uploaded a new version of MonticelloConfigurations to project The Trunk:
==================== Summary ====================
Time: 26 August 2010, 4:43:00.636 pm
Updated MCMcmUpdater comment to reflect current state better.
=============== Diff against MonticelloConfigurations-cbc.82 ===============
Item was changed:
Object subclass: #MCMcmUpdater
classVariableNames: 'DefaultUpdateURL LastUpdateMap SkipPackages UpdateMissingPackages'
+ !MCMcmUpdater commentStamp: 'cbc 8/26/2010 16:42' prior: 0!
- !MCMcmUpdater commentStamp: 'cbc 8/25/2010 23:52' prior: 0!
MCMcmUpdater provides utility methods for updating Monticello packages from Monticello configurations.
When Monticello configurations are stored in a repository (or repositories), MCMcmUpdater acts as an update stream. It first ensures that each configuration map has been loaded in sequence, then updates the last configuration map to the most recent version for each specified package, and finally loads these versions to produce a fully updated configuration.
+ Currently if a set of packages are unloaded from the image, using this class to reload them may cause problems, depending on what dependencies those classes have. Success is not assured. Removing packages via SmalltalkImage>>unloadAllKnownPackages will be successful, it flags the packages removed so that they are not loaded by this utility.
- Currently if a set of packages are unloaded from the image, using this class to reload them may cause problems, depending on what dependencies those classes have. Success is not assured.
If you wish to not have MCMcmUpdater update packages, there are two ways to handle this:
+ 1) To have MCMcmUpdater not update any packages not currently in the image set the UpdateMissingPackages preference to false:
- 1) To not update any packages not currently in the image, evaluate
MCMcmUpdater updateMissingPackages: false
Note that any new packages added to the repositories will not be picked up when this is turned off.
+ 2) To have MCMcmUpdater not update a specific package, evaluate
- To re-enable updating of missing packages disabled in this way, evaluate
- MCMcmUpdater updateMissingPackages: true
- 2) To not updat specific packages, evaluate
MCMcmUpdater disableUpdatesOfPackage: <packageName>
- To re-enable updating of a specific package turned of by method 2, evaluate:
- MCMcmUpdater enableUpdatesOfPackage: <packageName>
- To re-enable updating of all packages previously disabled by method 2, evaluate
- MCMcmUpdator enableUpdatesForAllPackages
- Note that work is progressing to automatically not update packages that are unloaded. At this time, this is not turned on.
Class Variables definitions:
+ DefaultUpdateURL - String: the URL that will be checked by default for updates. This would be set for a common standard location to check.
- DefaultUpdateURL - this is the URL that will be checked by default for updates. This would be set for a common standard location to check.
+ LastUpdateMap - Dictionary of Integer: version number of the last loaded update map per repository. Keeps track of the last configuration map, so that the utility will not have to run through the full history in the repositories each time you ask to update.
- LastUpdateMap - Keeps track of the last configuration map, so that the utility will not have to run through the full history in the repositories each time you ask to update.
+ SkipPackages - Set of Strings: names of packages to not update in MCMcmUpdater (empty by default).
- SkipPackages - Keeps track of the specific packages that are not to be updated in this image (usually because they were unloaded).
+ UpdateMissingPackages - Boolean: if true (default), new packages in the update config map will be loaded unless they are in SkipPackages. If false, packages not currently loaded in the image will not be loaded by MCMcmUpdater. (This can be dangerous if packages are split - use at your own risk).
- UpdateMissingPackages - Indicates if this utility should attempt to load packages that are not currently in the system.
More information about the Packages