Am 15.04.2013 um 15:46 schrieb Sven Van Caekenberghe <s...@stfx.eu>:
> > On 15 Apr 2013, at 15:07, "Sean P. DeNigris" <s...@clipperadams.com> wrote: > >> Sven Van Caekenberghe-2 wrote >>> the little fact that it is incremental - it updates and saves the same >>> image based on 1 metacello configuration - is really a stroke of genius. >>> It saves an enormous amount of time as in the past I always did a complete >>> build from scratch. Updating servers is now really a joy. >> >> Sounds great! And, I don't exactly understand ;) Can you say more about that >> feature? > > Building a new image goes like this > > $ ./vm.sh Pharo.image save test > > $ ./vm.sh test.image config http://mc.stfx.eu/XXX ConfigurationOfBetaNineT3 > --install=bleedingEdge --username=XXX --password=XXX > > The Pharo.image is 'empty' as far as your own code is concerned, the config > loads lots of dependencies. A build takes 10 minutes or so. > > But the next time, you can do only the second part > > $ ./vm.sh test.image config http://mc.stfx.eu/XXX ConfigurationOfBetaNineT3 > --install=bleedingEdge --username=XXX --password=XXX > > The test.image contains all your project specific code, and loading the > config just checks all dependencies and only loads what has changed, > incrementally. It only takes some 10s of seconds. > > It never occurred to me that this was the way to go, but the config handler > does it by default. Maybe it is just me, but I had the impression that > everybody (including CIs) always built from scratch (more or less, there were > staged systems), while it is actually quite practical to keep on updating the > same image for a much faster turn around. > This is less reliable than building from scratch. If you only build your own packages without a lot of external packages that might go well. If there are external dependencies it can even be that not loading it from scratch will get you a different package set installed in your image afterwards. So you should build from scratch from time to time anyway. For the config handler I don't see a reason why a config option should overwrite the existing image by default. Without extra options I don't even see why the image should shutdown after loading the config. Is it how it is? That looks like there are too many assumptions taken from the commandline handlers. Norbert