程序质量管理(三)——关于分支管理

在使用版本控制工具进行多版本并行开发的过程中,一定会遇到开分支,以及分支间合并的问题。

之前有看到阿里发布过一篇经验性的文章,介绍阿里是如何进行分支管理的,经过了解和评估,发现并不适用于我的项目。说一下我目前的分支管理策略:

1. 主干用于持续进行的开发,通常是未来版本。

2. 某个版本进入最后发布前阶段,则从主干上开辟一个新分支进行缺陷收敛。

3. 分支上所做的一切修改,无论缺陷修复还是需求开发,除非是明确的临时修改需求外,一律即时合并到主干上。

4. 合并到主干的分支版本,必须添加合并信息标记——由版本控制工具提供。

这么做的原因如下:

1. 减少冲突。

2. 减小冲突规模。

3. 第一时间重制作不可合并文件,防止累积后工作量太大。

4. 保证合并的顺序,防止乱序合并产生差异检测错误。


上述流程在执行过程中发现遗漏合并的现象比较明显,于是我做了一个例行检查工具,用来及时发现遗漏合并的版本,并监督开发者进行合并:

程序质量管理(三)——关于分支管理_第1张图片

图一 扫描SVN的合并属性的批处理

程序质量管理(三)——关于分支管理_第2张图片

图二 扫描发现的未合并版本


通过和持续集成工具(例如Jenkins、Hudson)的整合,就可以定时自动扫描出未即时合并的版本列表,方便检查开发者是否正确执行了分支管理的流程,避免问题越滚越大。

你可能感兴趣的:(技术管理)