The CVS directory inside of Class1 is a sandbox (working directory)
that contains copies of versions of files from the repository. Users can
create sandboxes on different hosts and in different locations of the
file systems and check-in (commit) changes made
to files from different locations and at different times. CVS takes care
of conflicts and merges when users commit changes and update the
same versions of files.
Sandboxes talk to the main repository (CVSROOT directory) when commits
and updates happen and save and retrieve various versions of files
from it when user specifies.
If the parent directory of your project is already a part of CVS, meaning it was previously checked out of CVS via the checkout command, then after importing the project into CVS repository, giving a full project's name (path to the new directory from the first directory in the hierarchy that's in CVS) and running the import command from the directory that needs to be imported (e.g. cvs import Class1/Class2 user1 alpha), run the update command to update the repository (it is recommended to move current files aside beforehand): 'cvs update -d'.
Set of Commands for Adding Class1 to CVS
- `cd /u/user1/projects/Class1/Class2`
- `cvs import Class1/Class2 user1 alpha`
- `cd /u/user1/projects/Class1` (or ../
if your current directory is Class2)
- `mv Class2 Class2.orig`
- `cvs update -d` - this will checkout Class2
from the repository along with a sand box
(you'll see CVS directory inside of Class2):