[Monetdb-developers] IMPORTANT: changes are afoot

Sjoerd Mullender sjoerd at acm.org
Thu Mar 18 15:33:35 CET 2010

For a long time now we have had serious performance issues with the
MonetDB CVS repository on Sourceforge.  MonetDB B.V. has bought a
machine that is to be used as the host for the public repository for
MonetDB.  This means that at some as yet undecided point in the near
future (i.e. fairly soon) we will move the repository away from
Sourceforge and to this new machine.

In the process we will also convert the current CVS repository to a new
and more modern type, namely Mercurial (also known as hg).

Mercurial is a so called distributed version control system (DVCS).
This means that every developer has his/her own complete copy of the
repository and can make any changes they want to it.  In order to share
any results, developers with the right access rights can "push" their
changes to the central repository, and anyone can "pull" changes from
that repository to their own.  Mercurial (like its competitors git and
bazaar) is very good at managing this push/pull work, merging changes
from different sources and keeping track of what has actually changed
(as opposed to what the end result looks like, which is what CVS and
Subversion (SVN) do).

Read-only access to the Mercurial repository will of course be possible
for anyone.  This only requires the HTTP protocol.  Read-write access to
the repository will require an SSH public/private key pair (of which you
will need to keep the private part, well, private; the public part will
need to be sent to me--I will contact you for that).

Because Mercurial is distributed, we can work in a slightly different
way than we used to with CVS.  A group of core developers will have
read-write access.  They can make their copy of the repository (or one
of their copies) available for their students who can develop and push
their changes to this copy.  Once the core developer is satisfied with
the changes he/she can push those changes to the main repository.

This way of working has several big advantages:
- Any developer can store changes (with appropriate log messages) in
their copy of the repository, safeguarding those changes, even if they
are not yet fully developed.
- Once changes are mature enough to share, they can be shared.
- We don't need to give lots and lots of people write access to the main
repository.  Currently there are a large number of people with write
access to the repository at Sourceforge of whom I don't know whether
they still need the access.

The new machine will do more than just serving the repository.  It will
also be used as the MonetDB webserver, and we have plans to switch over
to another bug tracking system (bugzilla) that is to run on this system.

An interesting intro into Mercurial usage can be found here:

Sjoerd Mullender

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 371 bytes
Desc: OpenPGP digital signature
URL: <http://www.monetdb.org/pipermail/developers-list/attachments/20100318/db69ac57/attachment.sig>

More information about the developers-list mailing list