2012-05-11 112 views
0

我處於僵局。我們是一家與醫療保健相關的產品開發公司。我們正在使用SVN版本控制系統。我們有多個客戶,每個客戶都有一個專門的開發分支。客戶分支始終從幹線分支。我們使用幹線作爲我們的高級客戶之一的開發分支,比方說PC1。並行開發/測試環境中的發佈管理-Deadlock

現在我們向PC1發佈了一款名爲PDT_5.0的產品。發行版本從發佈分支PDT_5.0發生,它原來是從主幹分支出來的。

與PDT_5.0版本相關的錯誤修復已經開始進行。與此同時,客戶請求了我們承諾在幾個月內交付的一些次要功能。新功能已在行李箱中開發。然而,在開始生活之前,新功能必須經過QA測試,並且必須得到客戶方的批准。

現在死鎖: PDT_5.0已經生效。錯誤修復發生在PDT_5.0的Release分支中。 功能開發已完成。必須經過QA測試。然而,我們不能等待QA完成測試,然後再發布,因爲現場緊急的錯誤修復必須儘快發佈。我完全迷失在這裏。

問題是我不想從樹幹分支,因爲功能太小。

回答

0

有一個描述的過程,我沒有看到任何其他方式,而不是從你的主幹選擇性合併(AKA櫻桃選擇)所需的功能和修復,並將分支發佈到客戶的分支。展望未來,如果您有基於客戶特定功能和分支機構的業務模式,則需要改變您提供更改的方式。

第一種選擇是,您要求銷售人員不要承諾在官方發佈之前提供功能。認真。只要說「傢伙,謝謝你銷售我們還沒有的功能,但請不要做任何額外的部署承諾」。通過這種方式,您可以保持發佈的簡單:主幹 - >發佈分支 - >客戶分支。之後,您的開發團隊會將特定更改從一箇舊分支遷移到新分支。

否則,如果您必須來回整合錯誤修正,直到您將自己埋在大量的三角洲中,等待其整合,那麼您應該調整過程以適應新的現實。我希望它有幫助...

相關問題