[V3dot10] making and recording changes

Ralph Johnson johnson at cs.uiuc.edu
Thu Jan 18 15:58:18 UTC 2007


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.

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.

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.

THoughts?

-Ralph


More information about the V3dot10 mailing list