Concurrent Versions System

related topics
{system, computer, user}
{work, book, publish}
{math, number, function}
{group, member, jewish}
{service, military, aircraft}

The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers (potentially widely separated in space and/or time) to collaborate. Dick Grune developed CVS as a series of shell scripts in July 1986. There was a similar system available earlier in the mid-70's developed by John Humbert.[1]

CVS became popular with commercial software developers and also the open source software world and is released under the GNU General Public License. Active development of CVS is continuing.[2]



CVS uses a client–server architecture: a server stores the current version(s) of a project and its history, and clients connect to the server in order to "check out" a complete copy of the project, work on this copy and then later "check in" their changes. Typically, the client and server connect over a LAN or over the Internet, but client and server may both run on the same machine if CVS has the task of keeping track of the version history of a project with only local developers. The server software normally runs on Unix (although at least the CVSNT server also supports various flavors of Microsoft Windows), while CVS clients may run on any major operating-system platform.

Several developers may work on the same project concurrently, each one editing files within their own "working copy" of the project, and sending (or checking in) their modifications to the server. To avoid the possibility of people stepping on each others' toes, the server will only accept changes made to the most recent version of a file. Developers are therefore expected to keep their working copy up-to-date by incorporating other people's changes on a regular basis. This task is mostly handled automatically by the CVS client, requiring manual intervention only when an edit conflict arises between a checked-in modification and the yet-unchecked local version of a file.

Full article ▸

related documents
Linear filter
Routing Information Protocol
Meiko Scientific
Apache HTTP Server
X86 memory segmentation
JPEG File Interchange Format
Free Lossless Audio Codec
Direct distance dialing
Fractal compression
Timeline of computing 1990–present
Drive letter assignment
Dragon 32/64
Speech recognition
Analog television
Circuit switching
Transport Layer
Data warehouse
Static random access memory