This PHP script offers a web interface access to a CVS repository.
CVSweb-PHP was created for cases where a project still using CVS has no
means of installing a CGI script on its web server, but where running a PHP
script is an option.
It is based on the cvsweb.pl Perl script by Bill Fenner et al and shares
most of its features. The main difference is that CVSweb-PHP does only
support _one_ module (read: project). If several modules need to be
published, CVSweb-PHP needs to be installed multiple times on the server,
one PHP file for each module.
CVSweb-PHP is published under the FreeBSD license, see license information
in the code (cvsweb-php.php).
CVSweb-PHP is hosted on http://cvsweb-php.sourceforge.net
PHP (>5.0) needs to be installed. To create the information on the web page
CVSweb-PHP needs cvs, rcsdiff, and rlog. To enable the download of the
repository module as a tar/zip file, CVSweb-PHP needs tar, gzip and/or zip
* Download the source and unpack it.
* Copy the icons and the CSS file to a place where your web server has
* Change the settings in cvsweb-php.php to match your paths, names, etc.
See section configuration below for more information or the comments in
* Copy cvsweb-php.php to the place where the web server will find it and
preferably rename it to something that makes it unique to your project.
For example, if you have a project called "MyCode" in your CVS repository
you could rename cvsweb-php.php to mycode-cvs.php or similar. This is
important if you want to publish more than one project, because in that
case you need to copy and adapt the cvsweb-php.php file several times.
All configuration settings are done at the beginning of the PHP file in the
"Configuration" section. The settings are defined by assignments to the
capitalized PHP variables. The comments next to the variables should give
enough detail in most cases for judicious modifications.
Most importantly, $CVSROOT and $CVSMODULE need to be changed to match your
setup. Give a valid path there.
The paths for the required utilities, like $CVSCMD, should be fine in most
The text and layout variables can be modified to make your CVS web access
more personal. If your project has a logo, you can give its path in the
$LOGO variable (uncomment it!) and it will be shown on the top of the page.