[Slightly OT] Source code management

Tim Rowledge tim at sumeru.stanford.edu
Wed Feb 6 16:21:31 UTC 2002


cg at home.cdegroot.com (Cees de Groot) is claimed by the authorities to have written:

> Andreas Raab <Andreas.Raab at gmx.de> said:
> >> I'll never, ever, go back to a single central repository 
> >> without a lot of screaming and kicking ;-)
> >
> >Heh, heh. Tell that to guys who're trying to convince me that There Must
> >Be Only One central repository for VM sources ;-)
> >
> Easy. 'Only One' in CVS terms translates in 'only one canonical one to 
> make releases from', IMHO. And as soon as VMMaker stabilizes, even that won't
> be necessary, I think.

I don't think I've actually heard _anyone_ say 'there must be only one'.

Certainly I haven't said it.

In fact, I haven't made any demands at all on where sources are kept.
What I _Do_ believe is that it is a good idea is to make it feasible for
all platforms to share a single _design_ of code tree so that a tool
like VMMaker can rely on it enough to be able to work for all platforms.

However, once you have such a code tree it is rather easy to keep all
the platforms' sources in one place together. It has various advantages,
such as being a reminder to people changing anything that they really
ought to check that the change works for other platforms or at least
have the manners to let other people know about the change before
releasing it in such a way that it doesn't break all other ports. You
know, personal responsibility instead of smarminess and other such
matters related to actually working together.

A repository (such as cvs for example) also has the nice property of
providing an audit trail, retractability, etc etc. Sourceforge happens
to provide a free service of keeping a cvs repository and backing it up.
Is there something terrible about making use of such a service? We even
have sqCVS available to control things directly from the image. Any
repository that allows easy access to fetch sources in a manner
convenient would be acceptable eventually but why is it _so_ terrible
the way it is now?  

VMMaker is simply a tool to cleanup and unify the messy code for
generating vm source that exists in the image; it removes the static
Strings to a file tree (saving half a meg of image size) and provides a
uniform file tree for the platform specific code. It allows simple
configuration of which plugins should be built and whether they should
be built internal or external. It assists in development of plugins by
making it a little easier to regenerate as you develop the code. It
allows you to generate the vm for other platforms than the one you are
running on. It is scriptable for batch building of vms.

Although we're not there yet (quite), it should be possible soon to
fetch the platforms code tree from SF, open the VMMakerTool, press two
buttons and get a vm code tree built. You would then do whatever
incantations makes executables on your machine and bang, there is a vm
and all requested plugins. At the moment you would also need to fetch
and filein the VMMaker changeset.

Is there something objectionable about this, other than the fact that
_I_ wrote it? Do people think that creating a vm should be kept as hard
as possible for some reason?


-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- Overdue for reincarnation.




More information about the Squeak-dev mailing list