Chapter 18. Using CVS

CVS, the concurrent versions system, gives developers an easy way to manage changes made to project files. Under CVS, each person working on a project gets their own “sandbox” copy of every file involved, which they can modify and experiment with however they please; a central, untouchable file repository keeps the canonical files safe. It lets several developers work on the same set of files without fear of accidentally wiping out other peoples’ changes (hence the concurrent part of the system’s name).

CVS also lets you view and work with all the previous versions of a file, without having to manage a whole archival library yourself. This gives you a great way to track, annotate, and access changes to a file over time.

While CVS is designed with source code in mind, it works with any kind of text file-based project that develops over time, such as web sites[26] and books.

Mac OS X gives you two ways to work with CVS. It ships with the command-line cvs program, the same one currently maintained by Cyclic Software ( Through this program, you can both check out CVS-based software located on other machines via a network, or you can set up CVS repositories on your own machine (which then become available for checkout by yourself or others with the right permissions). The next section summarizes the use of this tool.

On that note, Mac OS X’s other use of CVS lies within Project Builder, which has integrated CVS functionality, letting you ...

Get Mac OS X in a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.