What is Free-VMS? | Licensing | News Coverage | Scripts | Reverse Mortgage Quoting Script | Buddies | Contact


CVS (Concurrent Version System) is a code management system. It keeps track of changes in a source repository, has features like branches, which allows for several parallell development efforts or bug correction paths for each file.

I could have chosen something else, like CMS (Digital's code management system) or RCS (another free package for Unix, that basically does the same thing as CMS), but CVS has the following features I haven't seen elsewhere:

  • It's free.
  • It's networked. This means you can have the client part on your machine, develop at home, and submit your changes to a chosen server that holds the source repository.
  • It allows concurrent development in the same files.
  • It moves the responsability of merging (textually) conflicting changes to the authors. The third party is involved.
  • The CVS client runs on a number of architectures, like Unix, VMS, MacOS, NT, which means that every developer has his or her own choice of editing environment. I assume Unix and VMS will be those mostly seen.

The drawback is that the server part can (for now) only work on Unix. That is, however, a very small problem, since it's very few (for now, only me) that will see it, and I'm prepared to handle the administrative part.

If you don't know CVS already, I'd suggest you check the following docs:

A warning! All the pages shown here will have Unix-specific parts. The VMS variants are shown further down this page

  • Introduction to CVS by Jim Blandy. It covers very well what you need for basic development.
  • Dennis Butler's tutorial, which is nice, and pretty easy to understand.
    More documents:
  • The docs section of Pascal Molli's site (see below).
  • Cyclic Books

Free-VMS specifics:

The CVS root for Free-VMS development is
username must be replaced with the username you will have in the repository. To set that up, do the following:

$ define CVSROOT ""
Unix, using sh or bash
export CVSROOT
Unix, using csh or tcsh
setenv CVSROOT ""

The rest works very much as documented. Here is a quick reference:

To check out source
cvs checkout path ! To check out a directory and subdirectories
cvs checkout path/file ! To check out a specific file

... and here's when I get interrupted. I'll continue with this later...

The repository is also available over the web. Please do not bookmark that, it will probably change.

Free VMS Reverse Mortgage Scripts