發表文章

目前顯示的是 5月, 2012的文章

SVN :Keep your feature branch up to date

 前言 在我工作的團隊中,幾個月前我們改變了我們使用svn的方法,加入了feature branch的概念,就是每開發一個新的功能就需要從主幹開一個branch出來做開發,以免開發中的功能影響到其他人的作業(bug fix ...)。我們在改變規則的時候討論了很多次,原本以為規則已經很OK了。殊不知,才是惡夢的開始。 老舊的branch 有些功能branch分出來之後,此功能可能初步開發完成,尚未測試完成。但因為專案時程與需求變動的關係,導致這個功能的優先順序降低,所以不能跟著下次的release出去,且被assign更緊急的工作,這個feature branch 從主幹分出來太久,之後要merge回主幹可能會有一大堆衝突與問題。而你也沒辦法保證被svn auto merge後的結果一定是正確的,這個時候問題就來了。 如何解決老舊的feature branch? 我找了一些資料,這篇stackoverflow上是跟我一樣的問題 Subversion Branch/Trunk Best Practice - keeping Branch Up-to-Date? ,其中提到的我覺得OK的做法有幾點: 常常把主幹的code merge到你的feature branch,也就是說常常更新你的feature branch,就像每次開發前要update code一樣(好像有點爛,不過這好像已經是最好的辦法了 主動教你的團隊如何把code merge做好,且誰做更動的就應該由更動的人做merge的動作 我也覺得要常常更新feature branch,但為時已晚ㄎㄎ,我還是需要merge一大堆change,解決一大堆衝突,慘兮兮。既然都要做了順便提一下如何 Keep your feature branch up to date. 有人有更好的辦法歡迎留言告訴我。 Keep your feature branch up to date. SV作法其實很簡單,就是把主幹merge到branche就好。 Keeping a Branch in Sync Svn book - Branching and Merging  > Keeping a Branch in Sync Without Merge Tracking Su