If you'd like to do get a CVS server running, read the rest of this article.
[Editor's note: I have not tried this myself, and there may very well be a typo or two I made in posting this article ... if something doesn't work, please let me know what needs to be fixed!]
First of all, create the directory that will act as the repository. This directory only needs to be readable/writable for the root user (that is for at least ONE user). For the rest of this article, I'll refer to this directory as %CVSROOT.
Then, you will need to actually create the repository. Type sudo cvs -d%CVSROOT init in your Terminal window. If you look in the newly created repository, you should have a folder named CVSROOT. It will contain all the options and informations about your CVS repository. Have a look at the 'options' ans 'passwd' files, these are the most important ones. For more information on how to configure the cvs server, point your browser to the Developer Tools' CVS documentation.
In these documentation files, you can find a lot more than what you will find here. This is only a walkthrough to get the server running as fast as possible, and a workaround for the instructions in these files, which are globally accurate, but not for the configuration of inetd.conf.
Next we will have to make sure the CVS repository is remotely accessible. Check the permissions on the /etc/inetd.conf file:
$ ls -l /etc/inetd.confYou must have a 'w' somewhere. Otherwise, you will not be able to save changes. Now, open the file using sudo (personally i like 'sudo open -e /etc/inetd.conf' [Editor: I'm not sure this works after the security update]). What a mess! A lot of lines, most of all commented. Go to the bottom of the file and add the line:
-rw-r--r-- 1 root wheel 2654 Nov 5 00:28 /etc/inetd.conf
cvspserver stream tcp nowait root /usr/libexec/tcpd /usr/bin/cvs --allow-root=%CVSROOT pserverThat's where the trick is. In the docs they say that you should replace '/usr/libexec/tcpd /usr/bin/cvs' with '/usr/bin/cvs cvs'.
Now kill the 'inetd' process, and restart it ('sudo inetd'). There you are! You have a perfectly operationnal CVS pserver (clear text). Proceed accordingly if you want to add kerberos encryption and read carefully about ssh access to CVS.
Note that you will have to use the cvs commands with the correct -d flag. Let's look at a very brief test:
$ cvs -d :pserver:[your authorized user here]@[your ip there]:%CVSROOT login(Logging in to [your authorized user here]@[your ip there])
CVS password:We're in! Now you can import, checkout, commit, branch, whatever!
$
$ cvs -d :pserver:[your authorized user here]@[your ip there]:%CVSROOT logout(Logging out of [your authorized user here]@[your ip there])
Have fun!
Krugazor

