根据BPD(项目简称)系统项目特点,使用SVN管理项目源码、文档、程序、运行环境的结构如下图所示:
结构说明
1. Trunk:主干,包含系统的基础架构,核心功能,通用库,源码主干作为所有分支的基版本。
2. Branches:分支,按客户名称创建目录进行扩展,各客户划分三类(目录结构)分支:
(1)master作为版本发布维护的主分支,作用只有两个,合并和发布;
(2)develop作为团队开发分支,所有开发都在develop分支上进行,可按功能模块开辟分支开发,也可以按版本开辟分支开发;
(3)hotfix作为缺陷修复分支,基于发布的版本,如bug修复,系统漏洞,性能改进,安全等问题。
3. Tags:标签,或者叫快照,本质就是分支,按客户名称存放,某个版本功能稳定,可以发布时候,都在这里留档,只读属性(不允许修改)。
4. Environment:系统运行环境,第三方集成组件、控件,动态库、接口等;
5. Release:版本发布,开发给市场部,按客户存放与发布相关的所有文件,比如编译后的发布程序、发布相关文档,维护记录等等。
主要规则
1. master只做合并和发布,不允许直接开发;
2. develop和hotfix,开发完毕后,要合并到master,再从master发布到Tag存档,存档后开发版本锁定;
3. tag不允许修改;
4. 所有可分支目录和分支节点主要由开发部管理,无分支目录由市场部和开发部共同维护;