2012-04-15 31 views
16

svn書規定如下:SVN再集成同一分支幹路多次

一旦你執行了復興合併,你就不應該繼續 使用它的發展。原因是,如果您嘗試 稍後再重新同步現有分支,則合併跟蹤 將看到您的重新集成爲尚未合併到分支中的 的主幹更改,並將嘗試合併分支 - 到主幹 合併回分支!解決這個問題的方法很簡單,就是從trunk中創建一個 新分支,以繼續開發的下一個階段。

在我的情況下,我想繼續使用重新集成後的分支樹幹,並繼續多次重新集成到樹幹。我這樣做,我遇到了兩個主要問題:

  1. 我不斷收到奇怪的樹衝突,當我嘗試重新融入社會。
  2. 我不斷收到一條消息,說像「復興只能使用,如果修訂280至325以前」

如何解決這個問題,如果我希望能夠從一個分支重新整合多次?

+3

所以,書上說「不去做」,但你還是想這樣做呢?這是沒有意義的。重新整合之後,從主幹創建新的分支,就像它說的那樣... – Torious 2012-04-15 14:13:55

+0

我有類似的問題。我想把我的分支中的修補程序重新插入後備箱中,但不能重新整合。不幸的是,即使你不想要它,1.8也會自動重新集成。我不能創建一個新的分支,因爲所有其他項目的所有分支都有相同的分支名稱。我的問題是,a)現在我已經完成了這個,我不知道如何去掉它。 b)未來如何合併而不重新整合?這不是--dont-reintegrate選項。我已經看過 - 只記錄,但這對這種情況沒有意義? – 2015-11-12 13:15:00

回答

19

在SVN書,部分Keeping a Reintegrated Branch Alive

注意,從Subversion 1.8,這不再需要,爲automatic reintegration merge介紹說明您可以使用--record僅合併選項。

+0

如果我只想從分支合併到另一個分支,我可以重新集成分支嗎?我是否需要做 - 只記錄技巧? – Vincent 2013-11-06 14:42:39

+1

是的,你可以。在Subversion 1.7中,您需要執行--record-only技巧,而在Subversion 1.8上,您不需要--reintegrate和--record-only – rlovtang 2013-11-06 15:23:06

+0

版本是客戶機還是服務器或兩者之一? – Vincent 2013-11-06 15:30:05

2

我在谷歌上看到了一些解決方法,但他們讓我緊張爲'黑客'。爲了解決這個問題,我決定只做顛覆在信息中暗示的東西。我回到我的分支,並明確合併指定的修訂:

~/python/orb $ svn merge -r 650:693 https://paulwhippconsulting.slsapp.com/source/orb/trunk 
~/python/orb $ svn commit -m 'merged revisions 650:693 from trunk' 
Sending  occl 

Committed revision 695. 

一旦我這樣做,我才得以回到主幹的工作副本並重新分支沒有任何問題。

我希望這有助於