2010-11-24 30 views
0

我使用SVN/CVS很長一段時間,只是作爲我的代碼存儲的地方。但是現在我到了一個需要「最好的辦法」的地步。合併多個分支和中繼的特定更改的最佳方法是什麼?

我們有幾個分支。
例如:

  • Release1(發貨),
  • Release2(未完成,包含新功能),
  • Fix1(包含錯誤修復Release1後客戶測試將被運),
  • Fix2/trunktrunk是我們目前的發展狀態,Fix2)。

現在我們來解決我的問題。

如果Release 2Fix1Fix2之前出廠的,我有現在Release1一個Hotfix我不能說。只有幾個文件,但它很緊急。

什麼是現在最好的方式來獲得所有分支的變化?
自動合併還將合併分支特定的差異。手工合併最好的方法是?
必須有這樣的一種方式:我用ID「abc」標記我的更改,並說在所有分支中僅合併更改abc

Btw。我用Subversive使用Eclipse。也許日蝕之外的工具會更好!

+0

也許http://stackoverflow.com/questions/1645409/svn-how-to-apply-change-made-in-trunk-to-all-branches可以開始幫助 – VonC 2010-11-24 08:05:29

+0

從一個分支合併到另一個不是問題。問題是我只想合併一些更改。考慮以下幾點:您有一箇舊版本的軟件,並將其分成2個分支,供2個不同的客戶使用。現在,您修復舊版本(因爲customer3使用它),並且只想將新更改合併到您的2個分支中,因爲分支上有不同的功能。很難用英文來形容:D – lrxw 2010-11-24 08:19:38

回答

0

我使用Eclipse的Subclipse插件。你也可以用svn命令行來做到這一點。如果您的修復被隔離到單個修訂版本號,那麼您可以將該修訂版本合併到主幹(或任何其他分支)。

  • BRANCH1(修訂版103)-hotfix
  • 幹線(修訂版100)

使用Subclipse,你可以右鍵點擊則文件選擇 「團隊」 - > 「合併」。選擇「合併修訂範圍」或「合併兩個不同的樹」選項,然後提供源URL和修訂以合併到目標樹。

從命令行......因爲你當前的工作目錄是主幹:

svn merge -r 103:103 http://svn/branches/branch1 

你可能無法合併到多個分支,並且可能會更好,因爲你要小心合併過程。

相關問題