下一个: , 上层: Overview


1.1 CVS 是什么?

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

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

你当然可以把曾经创建的每个文件的所有版本都保存下来。 但这会浪费大量的磁盘空间。 而 cvs 用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异。

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

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

1989 年 4 月,Brian Berliner 设计了 cvs 并编写了代码。 之后 Jeff Polk 帮助 Brian 设计了 cvs 模块和销售商分支支持。

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

     http://www.cvshome.org/

有一个关于 CVS 的邮件列表,名叫 info-cvs@gnu.org。 写邮件到 info-cvs-request@gnu.org 来订阅或退订。 如果你更喜欢新闻组(Usenet),在 news:gnu.cvs.help 有一个 info-cvs@gnu.org 的单向镜像(发送到邮件列表的邮件会自动转发到新闻组,反之则不行)。 news:comp.software.config-mgmt 比较适合于讨论 cvs(还有其它一些配置管理系统)。 将来,可能会创立一个 comp.software.config-mgmt.cvs,但那要取决于在 news:comp.software.config-mgmt 上有足够的 cvs 讨论。

你也可订阅 bug-cvs@gnu.org 邮件列表,详见 BUGS。 要订阅它可以发邮件到 bug-cvs-request@gnu.org。 对应 bug-cvs@gnu.org 有一个双向的新闻组镜像(发在新闻组的信息会自动转到邮件列表,反之亦然)名为 news:gnu.cvs.bug