Important for 3.9 submissions and fixes
Avi Bryant
avi.bryant at gmail.com
Sat Sep 10 19:27:21 UTC 2005
On Sep 10, 2005, at 12:19 PM, Daniel Vainsencher wrote:
> I think that the solution is counter intuitive but simple. When
> moving things from Morphic to EToys, with M.1, E.1 being the
> initial versions, you need to publish M.2, E.2 with M.2 depending
> on E.2, so that E.2 (the version that already has the stuff) is
> loaded before M.2 (the version that's missing the stuff).
>
> So the dependencies seem inverse, but if you think about them as
> just a way to order loading, rather than as a way to specify what
> packages need what other packages, it makes sense. And this can be
> changed in the next release of the packages.
Actually, I think either way would work, because IIRC Monticello
doesn't actually use dependencies as a way to specify ordering,
simply as a way to figure out which versions of which packages to
load together. It then dumps all of the methods and classes into a
big pool and sorts out the load order itself. As long as you make
sure to load M.2 and E.2 at the same time, you should be fine.
As Marcus mentioned earlier, our current configurations system
*doesn't* do this - it's trying to enforce a particular order, and so
loads every package individually. All in all, I think this is a
mistake. In the rare cases where Monticello can't get the order
right on its own, we can post sequential configurations to the update
stream to force its hand. Otherwise, I think we should be doing it
as a bulk load.
Programatically, by the way, that looks like this:
MCVersionLoader new
addVersion: ...;
addVersion: ...;
addVersion: ...;
load
Avi
More information about the Squeak-dev
mailing list
|