The CVS source control provider has been tested with CVSNT 2.5.03. The CVS source control provider uses the cvs rls command to browse the repository - this command is implemented in CVS 1.12 but usage of . as the root of the module name isn't supported.

### Provider specific options

The following environment options are supported:

Property | Type | Description
CVSROOT | String | The CVSROOT value to access the repository.
Edit/Unedit Supported | Boolean | If "Yes" then check out and undo check out operations are supported. Check out will issue the cvs edit command; check in and undo check out will issue the cvs unedit command; status will issue the cvs editors command.
Executable | File Path | The path to the cvs executable.
Login/Logout Required | Boolean | If "Yes" the connect will issue the cvs login command

### Connecting to the source control system

When connecting to source control the provider checks if the local root is in CVS control. If this is the case then the local and remote root will be set accordingly. If the local root is not in CVS control after you have set the remote root then a cvs checkout -l -d command will be issued to make the local root CVS controlled. This command will also copy any files that are in the remote root to the local root.

### Source control operations

The CrossWorks source control operations have been implemented using CVS commands. There are no multiple file operations, each operation is done on a single file and commited as part of the operation.

Operation | Command
Get Status | cvs status and optional cvs editors for local directories that are in CVS control. cvs rls -e for directories in the repository.
Add To Source Control | cvs add for each directory not in CVS control. cvs add for the file. cvs commit for the file and directories.
Get Latest | cvs update -l -d for each directory not in CVS control. cvs update to merge the local file. cvs update -C to overwrite the local file.
Check Out | Optional cvs update -C to get the latest version. cvs edit to lock the file.
Undo Check Out | cvs unedit to unlock the file. Optional cvs update to get the latest version.
Check In | cvs commit for the file.
Source Control Explorer | cvs rls -e with a remote root starting with .. cvs import to create directories in the repository.