CVS

From BC$ MobileTV Wiki
Jump to: navigation, search

Concurrent Versions System (commonly abbreviated as CVS) is a software source code management system. Most modern software projects which started out using a CVS-based version control system have now migrated to SVN, although some legacy projects still continue to use CVS and/or both CVS and SVN.


How It Works

In CVS, "you create a special directory (called a CVS "root" directory) that you never, ever work in directly. Think of it as a repository of your "master copies" of any projects that you've placed under CVS control.

The master copy of a particular project (kept in a CVS root directory) is referred to as the project archive in this howto. One never works directly with an archive, but rather accesses it only via cvs commands. This archive is a lot more than just a "copy" of the current working snapshot of a project. It actually contains the information required to reconstruct all the variants of the project files that were ever committed to the archive, with contemporaneous log documentation, timestamps, and more.

Using cvs commands, you check a working copy of a project out from its archive, update any or all of the files in the working copy, edit or otherwise change them, test them, and eventually commit the changes back to the archive (documenting what you have done in the process). You can do anything you want to the working copy without affecting the archive unless/until you commit the changes. You can have several working copies out at the same time and work in each in turn. You and somebody else can each have their own working copies out and work (each on their own copy) at the same time.

By only working on the actual archive and root via CVS commands, you protect yourself against many of the slings and arrows of outrageous fortune. This may seem cumbersome if you are not used to it, but in fact it is all very easy and can even be largely automated by Clever Tricks, some of which are given below."[1]





Tools


Resources


Tutorials


External Links


References

  1. CVS Overview and Concepts: http://www.phy.duke.edu/~rgb/General/cvs_mini_howto/cvs_mini_howto/cvs_mini_howto-3.html

See Also

SCM | SVN