If you want to use CVS with a project that is currently being stored in a version control system other than CVS, you need to convert the files from the other system to CVS. Fortunately, scripts to do just that are available on the Internet and in the CVS source distribution.
The rcs-to-cvs script checks RCS files in to CVS. It also checks in files that didn't previously have source control. It starts by checking whether the current directory's subdirectories exist in the repository; then it commits the files. Files that do not already exist in the repository are checked in as revision 1.1.
rcs-to-cvs is available from the contrib directory in the CVS source code.
These scripts convert between RCS and SCCS version control. Note that rcs2sccs supports only one level of branching. Both scripts retain as much of the file metadata as possible.
rcs2sccs and sccs2rcs are available from the contrib directory in the CVS source code.
VSS2CVS is a Perl script to synchronize Visual Source Safe and CVS repositories. It is intended to convert from one source control system to the other and may need modification if you want to try to use both systems simultaneously.
VSS2CVS runs on Windows machines and requires a Perl interpreter (such as ActivePerl) and two utilities that are available with Cygwin.
VSS2CVS is available from http://www.laine.org/cvs/vss2cvs/.
pvcs2rcs reads files from Merant PVCS version control and writes a copy of those files using RCS version control. It acts recursively and leaves the PVCS archive unchanged.
pvcs2rcs is available from the contrib directory in the CVS source code.