Concurrent Versions System

Concurrent Versions System ( CVS short ) is a software system for managing versions of files, which is mainly used in the context of software source code.

CVS is no longer actively developed. The official website of CVS is no longer being looked after.


The original CVS is a pure command-line program, but it was developed for all major operating systems, at least one graphical user interface, for example TortoiseCVS and WinCVS for Windows, MacCVS for the Apple Macintosh and Cervisia for KDE on Linux. LinCVS and SmartCVS work on Windows, Linux and Mac OS X.

CVS enjoyed for a long time, especially in the open source community great popularity. So it was at most major open source projects to use. The software system is also used among other things on the servers of However, it was replaced by more modern version control systems such as Subversion or Git at most major open source projects. Even in a commercial environment can be observed due to the no longer active development given a replacement by more modern version administrations. Here especially Subversion is used as this is understood as a logical successor to CVS with little conversion effort.


CVS simplifies the management of source code in that it stores all files in a software project at a central location, called a repository. From a single file can be changed any time, but it retains all previous versions, available and recoverable. The differences between certain versions can be exposed. How CVS helps to keep track of the versions of the files and the associated comments. It can in particular be used to coordinate the work of different developers on larger projects.

The operation is seen doing, simplified, the following: An employee in the project initially retrieves the current status of all files in a project from the repository. This is called " check out " (of English. Check out). This metadata is created by CVS, which make it possible to identify which versions of the files were last checked out. Then the employee makes changes to one or more files. When called he has finished or has reached a consistent intermediate state (with major changes ), he plays these new versions of changed files back to the repository "check in", (of English. Check in). Problems can arise when several employees change a file at a time. These problems can be prevented either from the outset ( by Lock, used in revision control system, CVS atypical ) or are usually fixed quite easily afterwards (Merge ), at least when different parts of a file have changed. Possibly. conflicts that arise must be resolved manually. If you want to download only code that can alternatively also use the feature "Anonymous CVS Access".

CVS uses delta encoding, so as to save space, only the differences between file versions instead of the complete versions are stored.

The repository can be located locally in a directory on the computer or on a server on the Internet. This remote access it is easily possible that a distributed about the globe developer group working together on a project. In many open- source projects, an anonymous, pure read access is allowed in addition to the developer access.

Origins and offshoots

The development of CVS began in 1989 as a further development of RCS and Source Code Control System ( SCCS ). In contrast to this CVS is able to store a plurality of files at the same time, but with the same file format as the RCS is used. However, CVS also has some limitations, for example when dealing with binary data and directories. The as CVS successor traded, newly developed Subversion wants to remedy this.

In addition to the Subversion partially conceptually different scale, there are several new or Reimplementierungen from CVS, fix the security flaws and come up with other improvements. So there is about a new development from CVS with the name CVSNT for Windows, which has already been backported to Linux. This server system offers similar to Subversion many improvements over the old CVS development line. OpenCVS is a variant that is being developed under the mantle of the operating system OpenBSD.

Many of the commercial configuration management tools are based on RCS or CVS.