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

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

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

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

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

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

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

这么做的原因如下:

1. 减少冲突。

2. 减小冲突规模。

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

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


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


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


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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值