协作版本系统


协作版本系统 (正體)

Concurrent Versions System

开发 The CVS Team
初始版本 1990-11-19(19年前
最新版本 1.11.23 / 2008-5-8(20个月前
最新预览版本 1.12.13 / 2006-6-26(3年前
编程语言 C
操作系统 Unix-like, Windows
类型 Revision control
许可协议 GNU General Public License
网站 http://www.nongnu.org/cvs

CVSConcurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。

很多开源或者自由软件项目都使用CVS作为其程序员之间的中心点,以便能够综合各程序员的改进和更改。这些项目包括:GnomeKDEGIMPWine等。CVS的使用获GNU通用公共许可证授权。

这是一个将一组文件放在层次目录树中以保持同步的系统。人们可以从CVS服务器上更新他们的本地层次树副本,并将修改的结果或新文件发回;或者删除旧文件。

CVS 基于客户端/服务器结构(C/S)的行为使得其可容纳多用户,构成网络也很方便。这一特性使得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。

外部链接

nuvola





stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History