Guide to mod_cvs


Contents

Background information
What it does
What it doesn't do
Future plans
Getting it
Installing it
Questions, comments, ideas

Background information

Since you're reading this, you're probably either using, or planning on using CVS with web development. I discovered CVS when I started managing a fairly large website at the College of Engineering, Kista. After doing hundreds of commits and updates I started looking for a way of getting the webservers to work a little smarter with CVS, and mod_cvs is the result.

What it does

Every request Apache receives is passed through a number of handlers. mod_cvs is one of these handlers. What mod_cvs handles is CVS, Concurrent Versions System.

mod_cvs recognizes if the files in your webtree are checked out from a CVS repository. If so, it checks if the file is up-to-date and, if not, updates it.

Another neat feature of mod_cvs is the date-checkout feature. You can specify a date in the URI that gets passed to CVS, which checks out an older revision of the requested file and sends it to the user.

What it doesn't do

Future plans

More ideas (or patches) would be greatly appreciated...

Getting it

The source code for mod_cvs can be retrieved from the distribution directory on the official website at http://resare.com/noa/mod_cvs/dist

For now there are no precompiled versions of this software, but there may be in the future.

Installing it

Installing mod_cvs should be pretty straight forward. Just follow these steps:

  1. Run './configure'
  2. Run 'make'
  3. Become root (by using for example 'su' or 'sudo')
  4. Run 'make install'
  5. Add the line 'LoadModule cvs_module modules/mod_cvs.so' somewhere in you apache configuration.
  6. Edit your access.conf in a <Directory> or <Location> section, or place a .htaccess file anywhere in your checked-out webtree that says: CVSCheck On
  7. Restart your webserver

    NOTE: If you don't use a patched version of CVS, the webserver must also have write-permission to your repository's history-file. I advise you to use a patch to fix this. I use a version of CVS that I got from OpenBSD somewhere. I might more specific here in a while...

Questions, comments, ideas

Whatever it is, mail me: modcvs@resare.com

Contents
Back to mod_cvs home


Copyright © 1999 Martin Insulander martin@insulander.com. Now maintained by Noa Resare modcvs@resare.com