Monticello and live systems (was Re: 1 day left...)

Andreas Raab andreas.raab at gmx.de
Sun Feb 26 07:58:29 UTC 2006


Todd Blanchard wrote:
> They seem to be good at different things.  Monticello is all about 
> maintaining packages and in my view is a much *SAFER* mechanism for 
> loading in new functionality (packaged code) than changesets.  For one 
> thing, it does a good job of preflighting the changes and if its going 
> to have issues it will tell you and you can bail on it or it will help 
> you get to the desired final state.  So as a librarian - MC is DA BOMB.

Agreed. As a programmer who is trying to build a system from first 
principles MC is vastly superior to change sets.

> However, when it comes to maintaining modules and packages (chunks of 
> capability that are a "THING"), I feel that changesets are AWFUL, crap 
> out more often than not because my image isn't in the starting state the 
> changeset was based on and changeset loading doesn't preflight well.  If 
> it fails I have an image in an indeterminate state and have to quit and 
> relaunch to get back the last saved (and sane) state.  I can't begin to 
> count the number of times I've set out to load a .sar file and had it 
> crap out because something in my image wasn't in the state that file 
> expected.

It's a funny set of tradeoffs since I could counter this with pointing 
out that it is now pretty much impossible for anybody to keep up-to-date 
with the latest alphas. All of your changes will be wiped out by loading 
that latest one-line fix which means you have to rebuild your image from 
first principles whenever anything changes (e.g., all the freaking time 
;-) I wonder how many people these days actively track 3.9alpha (if at 
all) and how many of those do *any* of their own work in these images. 
Personally, I stopped doing it after a few more important changes got 
wiped clean, where (in the past) I've typically used the latest-greatest 
to make sure  things get tested properly.

> As an exercise, try grabbing a 3.6 basic image and see if, using old 
> .sar's on SqueakMap, you can get an image configured with Kom, Seaside, 
> Postgres, and GLORP and let me know how many tries it takes you.

Yup. Agreed. And countered by: Try grabbing a 3.8 image and get it to 
3.9 using Monticello alone ;-) And then use the update stream and see it 
fail, too, because there are apparently some dependencies which need to 
be carefully observed and have been condensed by Monticello in the wrong 
form. [Disclaimer: Haven't tested this very recently; I tried it a 
couple of weeks ago and got totally hosed].

> This is because changesets don't capture the expected initial and final 
> state - only the transitions - and that is seldom enough when you're 
> trying to work in a team and build a single "thing".
> 
> We really need a tool that knows both.

Agreed as well.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list