As often happens, the Traits upgrade requires a process, it is not sufficient to just load the post-Traits versions of the the image packages.
What it will require, is for the image being upgraded, to load a specific sequence of versions, which slowly and safely bring it into the desired state.
Exactly the same thing is required for other things, such as fixing the awful performance bug in Set+Behavior that causes a Set with 7000 classes to use almost exclusively linear search. This would require loading a version of the scanFor: that tries two different ways to use the hash, preferring the more efficient one, but tolerating the old one (that all Sets happen to be using at the moment), then doing rehash on all Sets, then dumping the old hashing code.
So this is a general problem. Does the current update stream mechanism allow us to give the user a sequence of MCConfigs, instead of just the one config that has the appropriate delta?
Daniel
Am 29.08.2005 um 19:52 schrieb Daniel Vainsencher:
As often happens, the Traits upgrade requires a process, it is not sufficient to just load the post-Traits versions of the the image packages.
What it will require, is for the image being upgraded, to load a specific sequence of versions, which slowly and safely bring it into the desired state.
Exactly the same thing is required for other things, such as fixing the awful performance bug in Set+Behavior that causes a Set with 7000 classes to use almost exclusively linear search. This would require loading a version of the scanFor: that tries two different ways to use the hash, preferring the more efficient one, but tolerating the old one (that all Sets happen to be using at the moment), then doing rehash on all Sets, then dumping the old hashing code.
So this is a general problem. Does the current update stream mechanism allow us to give the user a sequence of MCConfigs, instead of just the one config that has the appropriate delta?
You can either just issue a sequence of changesets each containing a certain MCConfig. This would be exactly what you decribe.
Or, maybe simpler: Just add a changeset with whatever you want and then as the next changset a config that load all the packages with the packages that have all code of an image after this changeset was loaded.
Marcus
packages@lists.squeakfoundation.org