
The checked-out files serve as a working copy, sandbox or workspace. Programmers acquire copies of modules by checking out. A CVS server stores the modules it manages in its repository. Operation ĬVS labels a single project (set of related files) that it manages as a module. In place of symbolic links, scripts that require certain privileges and conscious intervention to execute may be checked into CVS. For instance, a symbolic link to a sensitive file can be stored in the repository, making the sensitive file accessible even when it is not checked in. This is typically used for non-text files such as executable images where it is difficult to create compact deltas between versions.ĬVS excludes symbolic links because when they are stored in a version control system they can pose a security risk. On the other hand, when CVS is told to store a file as binary, it will keep each individual version on the server. This is usually the case for source code files. This works well with large text files with few changes from one version to the next.

Files are tracked using the same history format as in RCS, with a hidden directory containing a corresponding history file for each file in the repository.ĬVS uses delta compression for efficient storage of different versions of the same file. It expands upon RCS by adding support for repository-level change tracking, and a client-server model.


Released under the terms of the GNU General Public License, CVS is free software.ĬVS operates as a front end to Revision Control System (RCS), an older version control system that manages individual files but not whole projects.

ĬVS operates as a front end to RCS, an earlier system which operates on single files. Concurrent Versions System ( CVS, also known as the Concurrent Versioning System) is a revision control system originally developed by Dick Grune in July 1986.
