info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Migrating CVS database and users from NFS to pserver


From: Greg A. Woods
Subject: Re: Migrating CVS database and users from NFS to pserver
Date: Thu, 1 Aug 2002 13:46:37 -0400 (EDT)

[ On Thursday, August 1, 2002 at 10:02:59 (-0400), Martin d'Anjou wrote: ]
> Subject: Migrating CVS database and users from NFS to pserver
>
> We decided to convert our database from NFS to pserver, we hope our 
> database corruption problems with the history will go away.

Why don't you go all the way to SSH too?

> What is the best way to migrate the users and the database? I can find 
> documentation on creating databases, but not on migrating from NFS other 
> methods. Have I missed it? I would do a cvs import but we'd loose 
> history, logs, tags, etc.

assuming you're using a new/different machine to host CVS:

0. install the new CVS server and install SSH and CVS on it.
1. Create user accounts on the new CVS server.
2. install SSH on all the client workstations and test that each user
   can access the CVS server via SSH:  "ssh servername id"
3. move the repository files from the NFS server to the new CVS server,
   and fix up any ownership and permissions in the repository.
4. teach the users to use SSH to access the repository.

(if you're keeping everything on the same server then just install SSH
on the machine and if necessary create accounts for the users, then have
them start using SSH)

> Our first attempt failed since we realized users could not be migrated 
> by simply changing their CVSROOT. We discovered that the CVS/Root files 
> contained a copy of the path to the database.

If you do it right you can just edit all those files in place.  Your
window of downtime will only be the time it takes to do the last rsync
of the files from the NFS server to the new CVS server and to fix up
their permissions and ownerships.  Done carefully the users need not
even know things have changed, so long as you can make the move while
nobody is at work.

However it might just be easier though to have everyone stop work and to
"cvs release -d" all their working directories (committing any
outstanding changes, or making notes and keeping them safe in some
private place), then to change their CVSROOTs to use ":ext:" and to set
CVS_RSH=ssh in their environment too, and finally to "cvs checkout"
everything fresh again.  This way the users will get a clear picture of
how things have changed.


-- 
                                                                Greg A. Woods

+1 416 218-0098;            <address@hidden>;           <address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]