|
内部团队软件项目协同开发基本规则:
一、开发期间所释放(release)的版本一律为 1.0 以内。亦即,如 CEDT_WK_0.9 版。
二、在开发期间,针对每一次的 "MileStone",也就是完成比较重要的功能后,则其版本在同一个小数点往前推进(如 0.6->0.7)。注意的是,必须是以标记(TAG)来手动制订。
三、正式版本的推出,则以 1.0 开始。如 CEDT_WK_1.0 版。
小幅度功能的增加或修正一些 Bugs,则以 1.1->1.2->1.3 ... 渐增。
四、大幅度的功能提升或修正,则推进至 2.0 版。
[More:]
附录:基本说明:(主要内容参考 卧龙小三 CVS 入门说明)
1. Version(版本)、Revision(修订版)、Release(发行版):
Revision:开发期间的版本称为 Revision(校订版)。
Release:释放给客户使用的版本称为 Release(发行版)。
CVS 的版次编号(revision number)只做为 CVS 内部控管之用,和将来发行的软件版本(version)
无关。
也就是说:若某一支程序在 CVS 中版次编号为 1.5,而发行的软件版本 "您把它称为" SFS 3.0 版,那么,这个 1.5 内部版次和 3.0 软件版本,是完全风马牛不相关的!
CVS 的版次成长的过程如下:
第一次将项目汇入 CVS Server 时,所有档案的版次编号皆为 1.1.1.1。若修改存入档案库之后,版次编号就由 1.2 起跳,尔后每存入一次,版次编号就增加 1。您可以放心尽情地修改,不同的程序文件之间的版次编号不必一致,也就是说:一个项目中,A 这支程序到了 1.83 版,B 这支程序只到了 1.3 版,并不会影响将来发行软件的版本,我们可以利用标记(tag)等方式,来达到进一步控管的功能。
2. 取出过去的项目版本:
CVS 提供二种方式取出过去的项目版本:
1). 依时间点取出 (by date)
2). 依标记取出 (by tag)
项目会一直往前发展,终于有一天,领导人评估之后,认为该项目目前已经稳定成熟,可以推出正式版本了。这时,领导人通常会给项目的程序代码加上一个标记,比如:r2002_10_20,然后将项目打包,并为该软件命名一个发行版本(如 SFS 3.0 版)。
不过,正式版推出一段时间之后,可能会有使用者发现软件在某些地方功能不太正常,因此将问题回报给项目成员。而这段期间,项目仍持续不断地往前发展,在发展中的这种最新版本,通常不稳定,无法立即可用,实在不适合正式推出。为了修正程序代码中的臭虫,有必要取出过去的程序代码。此时,当初设定的标记就十分重要了 ! 我们可以根据标记,取出当时项目中的所有程序代码,以进行修正的动作。至于目前持续发展中的版本,则不会受到任何影响。
当然,也可以依时间点来取出当时的项目,不过,正式版究竟在何时推出的? 可能很难追忆,所以,一般而言,还是以使用标记的方式居多。
*** 请记住一个观念:当您取出过去的项目时,目前的工作版本会暂时变成旧项目,若修改它,您是无法把它存入 CVS 档案库中! 因为它是过去的历史,CVS 不容许您修改历史,此时必须在原先的发展路线上,开辟另外一个分支(branch),所有修正臭虫的程序代码,全部在这条分支上去进行。
3. 分支(branch):
CVS 可以让您回到某一稳定版本,由该处去修正程序的错误,修正的结果循另一条路线发展,以提供更可靠的程序版本。这就是分支的概念。原来的主要发展版本,我们就称之为主干(HEAD)。
4. 合并分支及主干:
分支的目的之一是为了修正某些程序的错误,开发中的版本,极可能也有这个 bug 存在,因此通常分支修改完之后,会和主干做合并的动作。
假设 r2002_10_20 推出正式版之后,发现有 bug,为了修正臭虫,于是做了分支
r2002_10_20_branch。以 index.php 为例,设若 bug 是在 index.php 中,且已被修正,今想把它和主干合并,以修正主干的错误。
5. 取出项目,推出(release)软件版本:
当我们 checkout 出库存项目时,在工作目录下每一个子目录中皆有一个 CVS 信息目录,但我们要推出正式版本的软件,不希望把这些 CVS 目录也打包进去。CVS 有提供一个动作命令,用来取出不含控制讯息的整份项目。
上一篇:VSS使用说明 下一篇:在 Windows 平台安装及设定 CVSNT+ViewCVS |
|