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

例如,修改软件时可能会不知不觉混进一些 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 模块和销售商分支支持。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐