思步网

查看: 19447|回复: 37
打印 上一主题 下一主题

[CVS] [CVS]版本控管的基本规范

[复制链接]
内部团队软件项目协同开发基本规则:
一、开发期间所释放(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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

谢谢nicezfish的辛勤工作,总结的很全面:)
学习了!{:9_328:}
我也顶起出售广告位
这么强,支持楼主,佩服
没人回帖。。。我来个吧!
这么强,支持楼主,佩服
前排支持下了哦~
很有借鉴意义,先收藏了,谢谢楼主。
众里寻他千百度,蓦然回首在这里!
向楼主学习
非常好,顶一下占位编辑
非常好,顶一下占位编辑
我也来顶一下..
向楼主学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部