SVN 版本库中应该有两种划分体系,一是按产品划分,每个产品业务系统都按主干、分支结构划分;另外按项目划分。
项目分支归集暂时不能识别为产品的软件模块或补丁,项目分支的最初代码从产品分支体系中分支创建。当项目分支中的部分模块或功能识别为产品后,通过分支合并并入产品分支。
版本库管理要有软件发布版本的跟踪功能,通过版本库结构可以知道一个已发布的版本,后续有哪些更新及更新了什么内容,所以每发布一个包需要建立版本标识,并对应建立一个发布后累计更新分支,针对这个安装包的软件修补代码都提交到此分支下,同样代码补丁可以分支合并进产品主干分支或项目分支。
由于版本库的维护整体是以子系统来划分的,所以各子系统的负责人是此分支的版本管理者,客户化需求产品化过程类似孵化过程,需要评审后并入产品主干。
版本库内项目需求、设计及测试文档都应归档进版本库,版本库中应有文档分支,并相应建立需求文档、设计文档、测试文档分类。