[geeklog-devel] Upgrade CVS to a distributed repository

Dirk Haun dirk at haun-online.de
Tue Apr 15 15:37:57 EDT 2008

Michael Jervis wrote:

>SVN is just a better version of CVS really.

Which, IIRC, was their stated goal. Not much of a vision, though, and
not that hard to achieve either.

>I'd go with SVN anytime now.

SVN has two main advantages over CVS:

1) You can rename / move files
2) Atomic commits

On the other hand, you lose some handy minor feature like proper labels
or being able to actually remove revisions.

Sure, for a new project I would also select SVN over CVS (if those were
the only available options). But as long as 1) and 2) are not that
important (e.g. for Geeklog's current development process), upgrading to
SVN "just because" doesn't really buy you anything.

A DVCS, on the other hand, is a completely different animal - and allows
a different way of working.

We have in fact been discussing using a DVCS on and off for as far back
as last year's Mentor Summit. I have just recently attended a
presentation[1] about DVCS again, and in that session, the presenters
and the audience discussed the benefits and problems of various systems.
The conclusion was something along these lines:

- git can do pretty much everything, but it's a system by geeks for
geeks, so it may not always be obvious
- bazaar has the potential of becoming everybody's first choice simply
due to its backing (by Canonical and the Ubuntu community)
- mercurial may be the underdog here but may be worth a look as it has
some advantages over the other two (and it also has backing by Sun now)

Other systems (see the slides if interested) were also discussed but
considered to be either not there yet or too far behind already.

I would love playing around with these systems but haven't had the time
yet. Plus, to really appreciate them, you need a non-trivial code base.
Importers from CVS are available for all of them, though.

This is actually something that we should discuss with the Summer of
Code in mind. Last year, we made the mistake of giving CVS access too
late, which resulted in some merging pains later on.

With a DCVS, students could work on their local repository, pull from
the main repository, and the eventual push upwards should be much easier
since these systems are designed with branching and merging in mind.

Food for thought ...

bye, Dirk

[1] <http://accu.org/index.php/conferences/accu_conference_2008/


More information about the geeklog-devel mailing list