4. Alternatives to the Pserver

4.1. Access for developers

Pserver is not a very good method to implement for your fellow developers to access the repository. You can use CVS's SSH and ext method. Simply add the user to the server's list of users, add the user to the file WRITERS, and then they can do the following:


$ export CVS_RSH='/usr/bin/ssh'
$ cvs -d :ext:[email protected]:/cvs/root login
  

This is a much more secure way for developers to access the repository.

4.2. Anonymous CVS access by http

There is another way to allow anonymous access to CVS. If there is an http server and Python installed on the server, you can use a set of Python CGI scripts called viewcvs, which allow people to view the CVS repository over the web, and can generate tarballs for users to download.

There is also a set of Perl CGI scripts that do the same thing called cvsweb, but Viewcvs is more mature and is preferred (at least by me).

4.3. CVSGrab

CVSGrab is an end-user tool for downloading the CVS repository by a ViewCVS interface. It is very useful when you are behind a corporate firewall that blocks the Pserver, as you can just grab the repository over standard HTTP. The only problem is if it doesn't have a ViewCVS interface, but most free software repositories are now on the web, and the few that still use cvsweb seem to be switching over to ViewCVS.

CVSGrab is written in Java, which may at first be a turn-off to some people (it is to me), but it seems completely compilable using GCJ, the Java front-end to GCC.

CVSGrab is a tool that goes hand-in-hand with ViewCVS. It is an end-user tool, not one that you as a system administrator or repository administrator would set up and configure.