HOWTO Move a CVS repositoy between servers on Debian

This article was first written in May 2006 for the BeezNest technical
website (http://glasnost.beeznest.org/articles/334).

Basically, moving a CVS repository itself is not really difficult.

Let’s assume first that we don’t use the pserver mode of CVS, which is known to be weak with respect to security. We use then the SSH transport to access the CVS server, which we strongly recommend.

On Debian, the CVS repository is located by default in /var/lib/cvs. At install time, a debconf question asked you where to set it. To check where debconf at least thinks the repository is, look at /etc/cvs-cron.conf. We strongly recommend not to move it afterwards, as all the local CVS repositories (when using SSH mode) on developers’ machine retain this full path.

Make sure CVS is installed on the destination server. Package is called “cvs” and ships both the server and the client.

Now, make sure no developer is going to try to commit anything during the move. Either ask them, cut them SSH access temporarily or whatever suits you best.

Copy the repository /var/lib/cvs to the new server.

Update clients’ local repositories to point to the new server/name if you could not keep it.

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someone

Leave a Reply

Your email address will not be published. Required fields are marked *