Now, we want to associate these two modules, such that when we check out the _myproject module, we get the _adodb module as well. We do that thru the CVSROOT/modules file, which we'll now check out:
$ cvs commit CVSROOT
$ cd CVSROOT

The first line tells CVS that adodb is an alias for the _adodb module. But when we check out adodb, the _adodb module's files will be created in a directory named adodb.

The second line tells CVS that myproject is an alias for both the _myproject module and the adodb alias. When we check out myproject, the _myproject module's files will be created in a directory named myproject, and the _adodb module's files will be created in a directory named adodb, within the myproject directory.

Why not just include the ADOdb code directly in the myproject module? There are two reasons:

1. You want to share the _adodb module between two or more modules, yet have only one instance of the ADOdb code in CVS. We can easily add a second project by adding the following to our CVSROOT/modules file:
project2 &_project2 &adodb