1、XXXX公司技术文件软件版本管理规范XXXX公司二一八 年 一 月目 录第1章 引言- 1 -1.1 目的- 1 -1.2 适用范围- 1 -1.3 术语定义和缩写词- 1 -1.4 统一大小写- 1 -1.5 参考资料- 1 -第2章 版本规范- 2 -2.1 版本格式- 2 -2.2 版本升级规则- 2 -第3章 TAG 规范- 3 -3.1 TAG 转换规则- 3 -3.2 版本 TAG- 3 -3.2.1 ALPHA测试 TAG- 3 -3.2.2 BETA测试 TAG- 3 -3.2.3 Release TAG- 3 -3.2.4 产品基线 TAG- 4 -第4章 BRANCH 规范
2、- 5 -4.1 固定后缀- 5 -4.2 BRANCH 转换规则- 5 -4.3 项目 BRANCH- 5 -第1章 引言1.1 目的经过该文档来统一、 规范公司的所有软件产品的版本管理, 使得版本管理更加正式和有效。本文档自 1月1日开始执行。1.2 适用范围本规范中规定的相关内容适应于公司所有软件产品的版本管理。1.3 术语定义和缩写词版本号: 产品/模块的版本标识TAG: SVN 中标识版本集合的工具和术语BRANCH: 即分支, SVN 中支持并行开发的工具和术语1.4 统一大小写版本管理中所有固定字串统一为大写版本管理中所有提到的产品/模块名称统一为小写1.5 参考资料CMMI 规
3、范之-SCM软件版本管理规范第2章 版本规范2.1 版本格式版本号包括: 产品/模块简称、 主版本号、 副版本号、 子版本号、 build 号格式: . .2.2 版本升级规则 主版本号升级规则 新产品或模块立项, 主版本号为0; 主体构件进行重大修改, 主版本号加1; 主版本号变更时, 副版本号同时置 0。 副版本号升级( 主要针对新功能) 新产品或模块, 副版本号为 1; 主体构件的重大修改, 副版本号加 1; 主体构件之间的接口协议重大修改, 副版本号加 1; 与其它产品或模块之间的接口协议重大修改, 副版本号加 1; 重大功能增加或增强, 副版本号加 1; 当副版本号变更时, 子版本号
4、同时置 0。 子版本号升级( 主要针对修改bug) 新产品或模块立项, 子版本号为 0; 为增强现有功能模块, 不增加新的功能模块, 主体构件未做重大修改, 而且主体构件之间的接口协议也未做重大修改, 子版本号加1; 为修改 bug, 而产品的主体构件未做重大修改, 而且产品的主体构件之间的接口协议也未做重大修改, 子版本号加1。 build 号升级 build 号部分为生成版本的日期; 每次送测必须有 build 号, 上线等也必须有build 号; 例: 050331第3章 TAG 规范3.1 TAG 转换规则从版本号和项目编号转换成 TAG 的对应部分遵循以下原则: a、 字母和数字不变
5、b、 空格” ”转换成下划线”_”c、 小数点”.”转换成减号”-”3.2 版本 TAG3.2.1 ALPHA测试 TAGAlpha版: 内测版。专业测试人员测试用, 一般而言, 该版本软件的Bug较多, 需要继续修改。格式: _-_ ALPHA格式( 例) : dhtx_0-1-0-150331_ALPHA3.2.2 BETA测试 TAGBeta版: 公测版。该版本相对于Alpha版已有了很大的改进, 消除了严重的错误, 但还是存在着一些缺陷, 需要经过多次测试来进一步消除, 此版本主要对像是产品用户。格式: _-_ BETA格式( 例) : dhtx_1-1-21-150331_BETA3
6、.2.3 Release TAGRelease版: 该版本意味”最终版本”, 在前面版本的一系列测试版之后, 终归会有一个正式版本, 是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下, Release不会以单词形式出现在软件封面上, 取而代之的是符号(R)格式: _-_ R格式( 例) : dhtx_1-1-21-150331_R3.2.4 产品基线 TAG定义产品基线 后缀是: _PD_BL格式: _-_PD_BL格式( 例) : dhtx_1-1-21-050331_PD_BL第4章 BRANCH 规范4.1 固定后缀BRANCH名称的固定后缀为: _BRANCH4.2 BRANCH 转换规则BRANCH转换规则同TAG 转换规则4.3 项目 BRANCH项目分支用来支持并行项目的开发工作, 同一项目使用相同的项目分支格式: _BRANCH第5章 代码存放及发布规范5.1 代码存放规则1. 软件开发在svn相应项目的trunk目录中进行。2. 需要发布测试的版本在svn相应项目的tag目录中进行标记, 命名规则参见第三章。5.2 发布规则1. 软件发布由项目经理进行操作。2. 项目经理在tag目录中对待测试版本进行标记。注意, 不要修改tag目录中的代码。3. 用标记版本打包生成测试包, 上传到测试FTP服务器。