CVS Setup


Table of Contents

CVS server setup 
Future naming convention 
Steps 
CVS setup 
Environment setup 
User practice: import 
Creating a directory tree from a number of files 
Defining the module 
Read-only repository access 
Password authentication 
Setting up the server for password authentication 
Using the client with password authentication 
Security considerations with password authentication 
core not imported 
Symptom 
Solution 
Steps 
Can't cvs import empty directory structure 
Can't cvs import empty directory structure 
Can't cvs import empty directory structure 
CVS instructions for creating repository 
CVS beginner needs help 
CVS beginner needs help 
"Practical guide" for CVS/RCS quickly setup 
Related URL: 

CVS server setup 

Future naming convention 

/export/cvswork        # cvs working folder. Modules come and go often
                       # keep a local copy just to save bandwidth
/export/cvsarchive     # my own local cvs archive. keep forever

Steps 

Setting up CVS as a server on a Linux Box
http://www.kryptonians.net/cvs/server_setup.html

verify CVS port settings 

# grep cvs /etc/services
cvspserver      2401/tcp                        # CVS client/server operations
cvspserver      2401/udp                        # CVS client/server operations
cvsup           5999/tcp        CVSup           # CVSup file transfer/John Polstra/FreeBSD
cvsup           5999/udp        CVSup           # CVSup file transfer/John Polstra/FreeBSD

This identifies the port CVS server will use. In most Linux/Unix installations, this is already defined. Port 2401 is the commonly accepted default port for CVS use.

create /etc/xinetd.d/cvspserver 

xsel -p > /etc/xinetd.d/cvspserver
service cvspserver
{
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = root
   passenv     = PATH
   server      = /usr/bin/cvs
   server_args = -f -l --allow-root=/export/cvs pserver
   disable     = no
}
  • If cvspserver is defined in '/etc/services', you can omit the port line.
  • That second parameter is a lowercase 'L', not a 1 or an uppercase 'i'.
  • The last parameter, '—allow-root=' defines the location of the repository to be used. There can be more than one, in which case each would have its own '—allow-root' parameter.

Restart the inet daemon 

/etc/rc.d/init.d/xinetd restart

test 

export CVS_RSH=ssh
cd ~/work/CVSROOT
cvs -d :ext:$USER@sunshine:/export/cvs status