一.svn目录结构图
二.svn分支说明
分支 |
用途 |
周期 |
操作及权限人员 |
特性 |
说明 |
feature* |
功能开发分支 |
需求开始à需求结束 |
相关开发人员及项目经理,配置管理 |
动态 |
从dev开出的分支,项目周期结束删除 |
dev |
功能开发主线 |
永久 |
相关开发人员及项目经理,配置管理 |
固定 |
从pro_cortp开出的分支 |
fixbug_* |
紧急线上bug修复 |
修复开始à测试通过 |
相关开发人员及项目经理,配置管理 |
动态 |
从当前线上版本的tags开出的分支,修复完成合并主线并同步到开发分支后删除 |
qa |
用于发布测试 |
永久 |
项目经理,配置管理 |
固定 |
从pro_cortp开出的分支 |
pro_cortp |
用于线上发布 |
永久 |
配置管理 |
固定 |
由配置管理将测试通过的qa分支节点合并到pro_cortp |
tags |
用于测试及正式发布每次发布记录点 |
永久 |
配置管理 |
固定 |
由配置管理做测试及发布记录的tags,禁止删除 |
三.svn管理策略
四.svn代码迭代流程
1. 开发
- 需求开始后由项目经理根据项目情况控制开发分支的分配,进行需求开发
2. 测试
- 开发在功能完成时由项目经理合并到qa测试分支并通知配置管理发布测试,配置管理在发布测试并打上测试tags
注意:在pro_cortp(主线)有变动时(如在bug修复上线后)项目经理应及时将主线的变动同步到正在开发的分支上
3. 预发
- 测试验证通过由配置管理将qa合并到pro_cortp进行预发布
4. 发布
- 配置管理将pro_cortp输出线上包,并打上release的tags
5. bug修复
- 测试修复
在发布测试后,一轮测试结束开发人员在dev或feature分支进行bug修改,完毕发布第二轮测试
- 预发修复
在发布预测试后,若仍然有bug需在dev或feature分支进行bug修改合并主线,再次发布预测试
- 生产修复
线上bug存在有两种情况
a.严重bug影响线上正常运行的需从当前线上版本的tags开出分支进行修复验证。
b.不影响线上正常运行的可放在下一个迭代版本中进行
五.迭代发布流程图