荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: joyfire.bbs@bbs.sjtu.edu.cn (小地雷), 信区: Linux
标  题: 自由项目实施-3
发信站: 饮水思源 (Mon Jan 20 14:10:15 2003)
转信站: SZU!news.tiaozhan.com!news.neu.edu.cn!SJTU

CVS

××××××××××××××××××××××××××××××××××××××
作者:王乐珩
欢迎访问joyfire.net
××××××××××××××××××××××××××××××××××××××

    在开发一段时间以后,也许会建立起一个开发团队,这不仅意味着项目的成熟,也意
味着挑战。由于软件项目越来越大,也增加了软件项目管理的难度。在开发组中,每个成
员都要保留一个副本,在开发中非常容易引起冲突。CVS 就是为了解决这个问题的。
  CVS,顾名思义,是个可以用在小组协作环境下的源码版本管理系统。同类的软件有A
T&T的SCCS(Source Code Control System),还有PVCS等。在OpenSource项目里CVS用得
最为广泛, Linux kernel不使用CVS来维护,但是包括FreeBSD操作系统在内的很多自由软
件源码管理都是由它完成的。

  现代软件的产生已经不是手工作坊式的了,软件工程、项目管理一类的工具是必然的
东西,可是对于自由软件这种通过网络志愿性质的软件开发项目来说,很多教科书里经典
的集中开发模式根本不可能使用;另外一方面,这种松散的特点又更加需要一种有效的管
理方式,以便达到目的。对此自由软件社团已经建立起了一种特殊的文化传统,同时也就
是一种特殊的项目管理方式,这方面具体的内容没有比Eric S. Raymond的《大教堂与集市
》更好的说明和分析了,所以我就不必多嘴了,如果又有兴趣而不了解的人,可以自己去
看看这篇自由软件历史上最著名的文章。

  CVS就是实现这种分散但是有效的“集市性”开发的一个工具,而我在这里仅仅是列出
使用它从技术上可以解决的问题。
    a、修改同步,防止一名开发人员的修改覆盖其他人的成果。(check out、read onl
y)
    b、维护不同的版本。(按 version 查找)
    c、可查找历史记录。防止 bug 的再引入。(diff)

  CVS 为了解决这个问题,采用的方式是:
  当开发人员对源代码进行修改时,修改的内容被登记(check in)到了 CVS 仓库(r
epository)中。仓库中保存了代码的主控副本,以及历次修改的历史信息。它不保存文件
的每个版本,而只是简单的记录发生在每个版本间的不同,节省磁盘空间。它能做到:
  a、使开发人员的目录和仓库保持一致。可以把自己的修改提交(commit)给仓库,让
仓库更新自己。
  b、允许代码派生。可以进行测试,如果失败,可以消除所做的修改,维持原结果。

  c、检索任何一个版本。

  像前面说的,我不会具体地列出安装方式和使用方法,因为这不是一篇使用手册的文
章。你可以到joyfire.net寻找相关的资料。


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店