自由项目实施-3
来源: 互联网 发布时间:2015-04-03
本文导语: CVS ×××××××××××××××××××××××××××××××××××××× 作者:王乐珩 欢迎访问joyfire.net ×××××××××××××××××××××××××××××××××××××× 在开发一段时间以后,也许会建立起一个开发团队,这...
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寻找相关的资料。
××××××××××××××××××××××××××××××××××××××
作者:王乐珩
欢迎访问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寻找相关的资料。
|
up
|
做什么?
|
up