[V3dot10] making and recording changes

stephane ducasse stephane.ducasse at free.fr
Thu Jan 18 16:40:35 UTC 2007

On 18 janv. 07, at 16:58, Ralph Johnson wrote:

> Some of us have had conversations about the relative merits of change
> files and of Montecello.  Stephane has convinced me that MC is good
> enough for most things, and in fact I have fixed one of its problems.
> However, there are a lot of advantages to using the update mechanism
> so that people can keep up to date without having to get a new image,
> and the update mechanism is based on change files.

But most of the time using MC you do not have to have a new image.
We issued Changesets that drove the loading of MC packages. So we used
a changeset in the update stream and this stream of update was loading
MC packages. So if we would not have got MC limitations or Squeak  
we could take an image and load everything as in the old update streams.

It seems to me that I already said that. But ask and I will repeat.

> It occurred to me that we could use both MC and the update mechanism,
> because we could make change sets that just loaded a particular
> version from MC.  That way we could do most of the work in MC and
> still be able to use change files for those things that MC can't yet
> do.

Ralph this is what we DID for 3.9.

> Another possibility is to use TestServer.  The "change files" in the
> update server could actually be TestServer scripts.  Moreover, we
> could have a giant script that duplicates the update list, so you
> could build the same image with and without the update server.
> I have poked around the update server and it appears that the way it
> works is that it has a directory of change files, and then there is a
> single file that lists all the change files.  So, to add a new update,
> you simply put a file in the directory and add the name of the file to
> the end of the list.  Pretty simple.  Normally the change files are
> class and method definitions, but of course they can be Smalltalk
> expressions as well.
> One of the advantage of the old update mechanism is that all the code
> was in one place.  If our change files are actually scripts that load
> code from MC or from other servers then the scripts will be more
> fragile.  They will only work if all of a set of servers work.  The
> more the code is spread out, the harder it will be to ensure a
> complete history of the image.

But we put the precondition that any code loaded in 3.9 had to be  
physically present
in the squeak source of the squeakfoundation server. So no dispersal of
source. We had one and only source. Now people could develop where  
they wanted
but we copied locally all the code.

So we already did that and it worked. All the servers except  
can crash we have **all** the code. the loader only loads from there.

Have a look at the scriptloader and the cs that were issued to load  
the scriptloader
scripts and run them


> THoughts?
> -Ralph
> _______________________________________________
> V3dot10 mailing list
> V3dot10 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/v3dot10

More information about the V3dot10 mailing list