文档介绍:软件版本控制规范
引言
目的
为规范并制度化公司软件版本管理,保障项目开发资料(源代码、文档)的完整性、安全性,明确源代码控制管理流程,特制定此规范,重点在于控制源代码的完整性、安全性,不被非授权获取、复制和传播。
适用范围
源代码直接控制管理部门为软件开发部,本规范适用于所有由网通软件开发部管理的源代码,所有涉及接触源代码的各岗位都必须严格执行本管理规范。
术语定义
SDK:软件开发工具包,是Software Development Kit的简称
SVN: subversion,软件版本管理工具
管理工具
我们使用SVN来进行版本管理、源代码管理、开发资料归档。
资料归档
归档要求
开发资料应该按下述方法来归档。
每个产品类型对应于版本服务器根目录下的一个目录,大类下面可以分成小类。
产品类型目录的下一级方案名称,比如Cortina、Marvell、TK、Opulan。方案名称的下一级是源代码目录、release目录,所有自研项目的源代码都应该放在相应的产品类型目录下,源代码目录包含toolchain、bootloader、kernel、app、脚本等,release目录应该包含项目软件版本及文档,如下面的表格所列。
根目录
一级目录
二级目录
三级目录
四级目录
五级目录
备注
software
产品类型1
(如PON)
方案名称1
(如Cortina)
源代码目录1
子目录
……
这是一套SDK,可能用于多个项目/产品
……
……
……
……
源代码目录2
……
……
……
……
……
release
项目1
《软件需求规格书》
《软件可行性分析报告》
《软件设计说明书》
《软件技术规格书》
《装备软件开发指导书》
《软件质量评审报告》
软件版本目录应包含:
版本1
《升级文件》
《烧录文件》
《软件自测试报告》
《软件版本发布说明》
版本2
……
……
……
项目2
……
……
……
方案名称2
(如Marvell)
……
……
……
……
……
……
……
产品类型2
(如xDSL)
……
……
……
……
……
……
……
……
……
数据备份
数据丢失有时造成的损失是无法弥补和估量的,为了保证代码的一致性和完整性,防止数据因意外事件受损、丢失,必须定期执行数据备份。
要求每星期备份一次,由管理员实施,同时记录到备份日志。备份也可依照实际项目情况增加备份密度。
源代码管理
源代码完整性保障
所有软件的源代码文件及相应的开发设计文档均须及时加入到指定的源代码服务器中的指定库中。
我们研发的产品软件运行所依赖的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。
软件开始编写或者调整代码之前,相应的设计文档和代码必须先从相应的SVN库进行svn update操作。软件编码或功能调整结束测试正确无误后,mit操作,mit操作之前需要再进行svn update操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。
源代码的授权访问
源代码服务器对于SVN库的访问建立操作系统级的,基于身份和口令的访问授权。
在SVN库中设置用