1. 程式人生 > >程式質量管理(三)——關於分支管理

程式質量管理(三)——關於分支管理

在使用版本控制工具進行多版本並行開發的過程中,一定會遇到開分支,以及分支間合併的問題。

之前有看到阿里釋出過一篇經驗性的文章,介紹阿里是如何進行分支管理的,經過了解和評估,發現並不適用於我的專案。說一下我目前的分支管理策略:

1. 主幹用於持續進行的開發,通常是未來版本。

2. 某個版本進入最後釋出前階段,則從主幹上開闢一個新分支進行缺陷收斂。

3. 分支上所做的一切修改,無論缺陷修復還是需求開發,除非是明確的臨時修改需求外,一律即時合併到主幹上。

4. 合併到主幹的分支版本,必須新增合併資訊標記——由版本控制工具提供。

這麼做的原因如下:

1. 減少衝突。

2. 減小衝突規模。

3. 第一時間重製作不可合併檔案,防止累積後工作量太大。

4. 保證合併的順序,防止亂序合併產生差異檢測錯誤。


上述流程在執行過程中發現遺漏合併的現象比較明顯,於是我做了一個例行檢查工具,用來及時發現遺漏合併的版本,並監督開發者進行合併:


圖一 掃描SVN的合併屬性的批處理


圖二 掃描發現的未合併版本


通過和持續整合工具(例如Jenkins、Hudson)的整合,就可以定時自動掃描出未即時合併的版本列表,方便檢查開發者是否正確執行了分支管理的流程,避免問題越滾越大。