<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.0 NT beta 1 build Jun 13 2001 (http://www.xmlspy.com) by Eoin Lane (Valtech Ltd.) -->
<?cocoon-process type="xslt"?>
<?xml-stylesheet type="text/xsl" href="http://jaba.sourceforge.net/stylesheet/jaba.xsl"?>
<document xmlns="http://jaba.sourceforge.net/Document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jaba.sourceforge.net/Document
http://jaba.sourceforge.net/schema/document.xsd">
	<header>
		<title>CVS HOWTO</title>
		<authors>
			<person name="Eoin Lane" email="eoin.lane@valtech.co.uk"/>
		</authors>
	</header>
	<body>
		<s1 title="Setting up a CVS server ">
		<p>CVS has become the version control system of choice for many organisations. It has become the de-facto VCS within the open source domain, due to its simplicity and the fact that it is “free”. CVS clients are available on many platforms, and the CVS server can be accessed in client server mode, thus increasing the flexibility of this popular tool.</p>

			<p>To setup a CVS server on a Mandrake 7.2, 8.0, RedHat 6.2, 7.0, 7.1 follow these instructions.</p>
			<p>As root:</p>
			<ul>
				<li>(/usr/sbin/)groupadd cvs</li>
				<li>mkdir /usr/local/repository (or whatever directory you want)</li>
				<li>cvs -d /usr/local/repository init</li>
				<li>cd /usr/local/repository</li>
				<li>chmod g+w .</li>
				<li>chgrp -R cvs .</li>
				<li>Modifty /etc/services to have the following line: cvspserver 2401/tcp</li>
				<li>Modify /etc/inetd.conf by adding the line: cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/usr/local/repository -f pserver</li>
				<li>
					<strong>NB For newer distributions like Mandrake 8.0 and Red Hat 7.2 use xinetd. The involves creating a file called cvspserver shown below and place it in /etc/xinetd.d/ </strong>
				</li>
				<li>/etc/init.d/inet restart or /etc/rc.d/init.d/inet restart</li>
				<li>or /etc/init.d/xinedt restart</li>
				<li>configure /etc/cvs/cvs.conf to point at the repository /usr/local/repository</li>
				<li>Download the jcvs client from <link href="http://www.jcvs.org/">"http://www.jcvs.org/"</link>
				</li>
				<li>To add a user add then as a linux account user and make sure that the cvs group is add to thier list of groups</li>
				<li>To anonymous browse the CVS repository from a web browser it is well worth setting up <link href="http://www.lyra.org/viewcvs/">viewcvs</link>
				</li>
			</ul>
			<source>
service cvspserver
{
	socket_type         = stream
	protocol            = tcp
	wait                = no
	user                = root
	server              = /usr/bin/cvs
	server_args         = --allow-root=/usr/local/repository -f pserver
}
</source>
		</s1>
		<s1 title="CVS Web Client">
			<ul>
				<li>Download ViewCVS from <link href="http://viewcvs.sourceforge.net/">http://viewcvs.sourceforge.net/</link>, version 0.7</li>
				<li>Follow the README</li>
				<li>This involves extracting the archive and running the sh script viewcvs-intall (as root), accept the defaults.</li>
				<li>cd to /usr/local/viewcvs-dev and modify the viewcvs.conf file (see mine below)</li>
				<li>cp cgi/cvsview.cgi to the cgi-bin directory (I couldn't get symbolic links to work) of your webserver and start browsing and change the group to cvs so that it can have write access to the cvs repository</li>
			</ul>
		</s1>
		<s1 title="CVS Clients">
			<p>There are a range of CVS clients and addons and comprehensive list can be found <link href="http://www.cvshome.org/dev/addons.html">here</link>. However the one of particular note is <link href="http://www.wincvs.org/TortoiseCVS/index.html">TortoiseCVS</link> which intergrates into Windows Explorer (be sure to read the FAQs before setting this up)</p>
		</s1>
	</body>
</document>
