Constructing a patched Monticello package without installing it
Hi All, I'm trying to deploy Spur in our Newspeak bootstrap at Cadence. The starting point for the Newspeak bootstrap) is a Squeak4.3 image. I have a Squeak4.3 image transformed by the Spur bootstrap to Spur format, which means it has a few method modifications to three packages: Collections (changed Character methods now that Characters are immediate) Kernel (changed Behavior & ClassBuilder changes now that a class's format has changed, and instantiation interacts with the garbage collector differently) System (changed SystemDictionary/SmalltalkImage methods now that there's a generation scavenger) The Newspeak bootstrap loads versions of these packages that support Newspeak. So the problem is to load the Newspeak versions of these packages without undoing the Spur bootstrap modifications. As a quick hack I could patch the Monticello loader to avoid the modifications (they're marked by not having a source pointer but could be marked in some other way, e.g. a pragma). That's a fine simple approach. But... I just stumbled across Monticello's MCPatcher and the Backport button which claims to apply a partial delta to the ancestor of a package. Does anyone who understands this code know if the code supports loading a package, without installing it, applying a partial set of changes (i.e. the relevant changes form the bootstrap) and saving the package as an mcz? If it does then I could construct patched versions of the three packages and substitute them in the bootstrap instead of using the hack. -- best, Eliot
participants (1)
-
Eliot Miranda