未雨绸缪——理解软件配置管理
软件配置管理与软件研发中的所有角色都有关系
项目经理-开发人员-测试人员
需求管理人员-系统架构师-用户文档编写人员-质量保障人员
第二章:基本的版本控制:记录版本,防止混乱
即使只有一个程序员,也需要软件配置管理,例如保存源代码,备份,如message.0806.to_addCoin.bak
备份到其它磁盘上等。
如果多个程序员共同参与,假定各个程序员各负其责,“责任田”。
设计两个基本问题
1.在修改之前,从哪里得到新版本?2.修改之后,把结果提交到哪?
解决方法,将源代码流转的渠道从网状结构改成星型结构。建立一个公共存储区。一概从该区取代码,完了后,将修改部分传到公共存储区。
防止版本覆盖:两个人同时修改一处代码
解决方法:串行加锁如vss(visual Sourcesafe),并行合并(subverision,SVN)。
svn继承了前辈CVS(concurrent version system)
clearcase :cc,同时支持两种方法,以第二种方法为主。
base clearcase:
clearcase UCM:开箱即用
行话:公共存储区叫版本库(存储池repository),存储源代码的各个版本。
增量存储:只存储不同版本之间有差异的部分。
工作空间(工作区、沙箱sandbox)等,程序员从版本库拿到源代码放到这里。在这里查看、修改、编译、运行、调试等,再把新版本送回到版本库中。
检出或签出(check out):通知修改之前,check in:通知修改之后
版本号:一般分三段,主版本号,特征版本号,Bug修复版本,第一个新的版本为:1.0.0
http://www.ibm.com/developerworks/cn/java/j-subversion/