2012-05-28 65 views
0

我們正在進行2個併發發佈,其中一個是分支,另一個是中繼。並且每一次轉入分支的更改都必須在主幹中合併。如果我們正在開發一個大功能,這需要很長時間。因此我想自動化這個過程,即每次分支發生變化時......這些變化都與主幹合併。SVN - 合併分支中的變化

同樣,我正在探索SVN,並且正在考慮編寫一個腳本來完成這個任務。任何人都知道我怎麼能做到這一點,有沒有任何教程的某種?我已經提到了各種文章,如this

到目前爲止,我還沒有能夠得到它的工作。

+0

這是不可能的,因爲每一次合併都可能導致衝突,必須通過人類理解必須完成的事情來解決衝突。 –

+0

是的,但不會合並命令句柄? –

+2

合併命令盡其所能,但例如,如果您刪除了trunk中的文件A,並將25行代碼添加到分支中的文件A,SVN如何知道與這25行新代碼有關?設計在後備箱中已更改,並且必須手動重寫分部中的更改以適應新設計。 –

回答

1

我試着用我自己的話重複這個問題:您打算在不久的將來發布v0.1,但仍有很多工作要做。發佈後不久,將會發布v0.2以及一些額外的功能 - 正在開發中。如何用Subversion做到這一點?

我推薦以其他方式進行:儘可能晚地爲v0.1創建發佈分支。爲特徵創建一個或多個特徵分支,這些特徵不屬於第一個版本。幹線更改可以很容易地與svn merge ^/trunk合併到功能分支中(由於合併跟蹤而工作良好)。大多數工作完成時創建發佈分支,然後將功能分支重新集成到主幹中。

在創建發佈分支後,應該在主幹上進行更改,並從主幹上合併到發佈分支 - 所謂的櫻桃採摘。這需要更多的努力,我推薦它,因爲在我看來,開發應該發生在主幹及其功能分支 - 而不是發佈分支。