章 1. 概述

目录
CVS是什么?
CVS不是什么?
例子

这一章是为那些从没有用过CVS和那些以前可能从没用过版本控制软件的人所准备的。

如果你已对CVS很熟悉,仅仅想了解某一个特点或是为了记住某一个命令,那么你可以跨过这一切。

CVS是什么?

CVS是一个版本控制系统。使用它,你可以记录下你的源文件的历史。

例如:修改软件时可能会产生一些bug,而且可能过了很久你才会察觉到它们的存在。有了CVS,你可以很容易地恢复旧版本,并从中看出到底是哪个修改导致了这个bug 。有时这是很有用的。

当然了,你可能把所有版本的所有文件都保存了下来。但这会浪费大量的磁盘空间。而CVS用一种聪明的办法来保存一个文件的所有版本——仅仅保存不同版本之间的区别——在一个文件里。

如果你是项目开发组的一员,CVS也会帮助你。除非极为小心,成员之间很容易互相覆盖文件。一些编辑器,如GNU Emacs,会保证同一时间内同一文件绝不会被两个人修改。不幸的是,如果有人用了另外的编辑器,这种保护就没用了。CVS用隔离开不同的开发者解决了这个问题。每个开发者在他自己的目录里工作,等每一个开发者都完成了他们自己的工作后,CVS会将它们合并到一起。

CVS最初由Dick Grune在1986年12月以shell scripts的形式发布在comp.sources.unix的新闻组第6卷里。虽然当前的CVS中没什么代码来自于这些shell scripts,但许多CVS的冲突解决算法是从它们来的。

1989年4月,Brian Berliner设计了CVS并编写了代码,之后Jeff Polk帮助Brian设计了CVS模块发行分支。

你可以从好多渠道得到CVS,包括从INTERNET上自由下载。有关下载CVS和其它与CVS相关的话题,请访问下面网址:

http://www.cvshome.org/
http://www.loria.fr/~molli/cvs-index.html

有一个关于CVS的邮件列表,名叫info-cvs,要订阅或退订请发email: info-cvs-request@gnu.org。如果你更喜欢新闻组,comp.software.config-mgmt可能比较适合于讨论CVS(还有其它一些配置管理系统)。将来,可能会创立一个comp.software.config-mgmt.cvs, 当然那要确取决于在comp.software.config-mgmt上有足够的CVS讨论。

你也能订阅bug-cvs邮件列表,详见[附录 H]。要订阅可以发emal到bug-cvs-request@gnu.org。