2013-08-26 57 views

回答

37

只是合併分支到任何目標

編輯

OK,擴展答案: 「合併傻瓜」,在圖片

前言

OK,我不會掩蓋或隱藏使用的試驗場。

用在這個樣本資源:

Repo Graph

  • 本地目錄z:\WC-Trunk(軀幹的WC,在過程中使用)
  • TortoiseSVN的1.8。1,建立24570條 - 32位

步驟來重現

爲了合併分支到主幹,我必須有主幹的工作拷貝,從而 - 幹線的HEAD checkouted到WC-Trunk中

z:\WC-Trunk>svn ls 
Dr?p?r.ma?ar.sv?nskan.man.eller.smalensk?n.txt 
Hello.de.txt 
Hello.en.txt 
Hello.eo.txt 
Hello.fr.txt 

需要它的WC

z:\WC-Trunk>svn info 
Path: . 
Working Copy Root Path: Z:\WC-Trunk 
URL: http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk 
Relative URL: ^/trunk 
... 

開始合併

Start

選擇「合併範圍」,因爲「這個方法適用於你創建了一個或多個修改的分支的情況下(或主幹)和你想將這些變化傳達給不同分支」

Merge type

選擇所有的版本,否則沒有定義和路徑樹庫,其中有要合併到主幹(我們的法國分支)

Merge Options

定義(如果需要)一些附加的合併選項,可以測試以檢測,將是解決衝突的任何形式的需要,或者只是在最後

Options 2

+0

我有3個分支來設置。當我選擇「合併兩棵不同的樹」時,從,到和工作副本 –

+0

@JernejNovak - 不要使用2-URL合併,直到它真的需要** –

+0

請看我的編輯問題。 –

67
開始 真正的合併過程合併

它不再在TortoiseSVN中,因爲Subversion 1.8棄用了--reintegrate選項。 Subversion 1.8具有自動重新集成處理/檢測功能。

見:Subversion 1.8 release notes,具體the auto-reintegrate section

下面是相關區域,爲了方便:

自動再合併(--reintegrate選項不建議使用)

其間合併所有合併 Subversion 1.8會自動決定合併是否爲 rein組織分支。因此,重新集成分支沒有 需要更長的--reintegrate選項才能正確操作。

svn merge的--reintegrate選項現在已被棄用,其使用是不鼓勵 。爲了復興分支,具有 軀幹的清潔工作拷貝,並在其頂層目錄中運行以下命令:

$ svn merge ^/branches/my-branch 

該合併將仍然執行類似的完整性檢查其svn的合併 --reintegrate在早期進行發佈:

  • 工作副本不得是混合修訂工作副本。
  • 工作副本不能切換子樹。
  • 從重新集成目標(例如主幹)合併到重新集成源
    (即要重新集成的分支)的修訂範圍中必須沒有間隙。

如果任何這些條件被檢測到,合併被中止並且必須採取 必要的步驟來解決這個問題的分支可以 重新整合之前。與--reintegrate合併相比,自動重新合併到本地修改的工作副本 允許。

使用 自動重新合併合併(「keep-alive dance」不再需要 )可以以任意順序在兩個分支之間來回合併。爲獲得最佳結果,建議始終合併所有 合格修訂版本,即不使用svn merge的-r或-c選項。 僅合併修改版的子集會增加未來合併期間可能出現的問題的可能性 。

使用 - 在Subversion 1.8中重新集成將強制重新合併 合併,無論這是否合適合併以在給定 的情況下執行。

在你的情況,你應該做到以下幾點

  1. 確保您使用的是乾淨的,沒有任何修飾,跟上時代的主幹的工作拷貝,你通常會
  2. TortoiseSVN的 - >合併的工作拷貝根
  3. 選擇「合併一個版本範圍的」
  4. 選擇要重返
  5. 分支3210
  6. 不要指定版本範圍(合併所有符合條件的修訂版)
  7. 顛覆1.8應該自動檢測重返社會,並與您的合併執行相同的安全檢查
  8. 繼續正常

按照兼容性表,只要您的Subversion服務器和存儲庫格式均爲1.5或更高版本,Subversion 1.8客戶端就可以執行此自動重新集成。

我還沒有做過自動重新整合,但我只是關閉發行說明。

+2

由於「不指定修訂範圍(合併所有符合條件的修訂版)」 – oldwizard

+0

感謝您提供有用的解釋。我注意到,在SVN 1.7中,合併跟蹤也很完美,我也沒有看到需要使用重新合併。 1.7也可以使用正常的合併重新整合嗎? – Fletch

+0

@Fletch自從1.5以來,我一直在collab.net博客上提到有關合並重新集成的引用[此帖子](http://blogs.collab.net/subversion/subversion-merg)。我仍然在1.7中使用它進行分支重組 - 它基本上做了很多額外的安全檢查,並且它在過去已經發現了潛在的問題(1.7)。仔細查看發佈文檔,我認爲建議是將客戶端升級到1.8(服務器版本只需要1.5+),因爲自動合併重新集成是CLIENT端操作,因此您絕對不必擔心。 –

14

按住Shift鍵打開上下文菜單時,會看到隱藏的選項。菜單中會有TortoiseSVN/Merge reintegrate...

但是,您應該使用新的Automatic reintegration merge

+1

冬青!感謝您選擇SHIFT選項。那裏真的幫了我很多。 – imclickingmaniac

+4

謝謝,不知道'Shift'選項!無論如何,在「TortoiseSVN 1.9.2」中,沒有「合併重新合併......」了。 – Micer

相關問題