[Simh] Distributed source code control?

Peter Lund firefly at vax64.dk
Thu Aug 30 15:36:21 EDT 2007


At the moment, the only source code available is the latest released
zipfile from Bob + possibly a few patches floating on the list.

I was wondering if it wouldn't be easier to cooperate on the project
with a source code version control tool?

The open source guys (most of which probably a generation or two younger
than most of you) have made lots of shiny toys of that kind -- CVS is so
long ago.  These days all the cool kids use a distributed system where
every person can have lots of repositories for the same project and
everybody can mix and match patches.  Branching is usually as easy as
copying a directory.  There is also usually integrated support for
email, repository servers and web views of the repositories.

The main contenders would be: darcs, mercurial, subversion, bazaar, and
git.

darcs probably has the nicest user interface and manual.  There's a
speed bug with big repositories (such as the linux) but it works fine
for smaller projects.  The speed bug will probably be solved within a
few months.  This is what I tend to use.

mercurial is about as nice as darcs but doesn't have the speed bug.

subversion is "CVS + decentralization" which makes it feel just like
home to many people.  Unfortunately, it inherits a lot of the CVS
interface.  It doesn't do branches and merges well.

bazaar was the first one to do decentralized repositories.  Not as nice
user interface as darcs and mercurial, not CVS like.

git is what Linux and X use.  It has an awful user interface that even
kernel hackers have trouble with.  It is blindingly fast, though.  And
it handles humonguous projects without breaking a sweat.

Will they work with windows?  Yes, but not equally well.

Darcs doesn't handle files that only differ in case well.  There's also
a bug that makes it ignore ^C sometimes.

git also has some rough edges on Windows.

All of these work best if people have a web site to host their
repositories on.  You can use dyndns to convert just about any
DSL-connected machine into a full internet citizen with a domain name.

-Peter




More information about the Simh mailing list