2013-03-21 70 views
0

因此,我再次遇到了這個問題,並決定聽取專家的意見(請只請那些知道他們在說什麼的人)。您究竟如何使用TortoiseSVN將分支重新集成到父分支中?

我從另一個分支創建了一個分支(DUMMY-BRANCH)(稱爲UAT_BRANCH,這個主分支是測試版本的主分支)。我對DUMMY-BRANCH進行了更改,並對這些更改進行了測試,直到對這些更改滿意爲止。然後是時候把我的修改合併回主分支,在這種情況下是UAT_BRANCH,然後我繼續打開TortoiseSVN來完成這個任務。我打開了在線手冊MERGE TWO DIFFERENT TREES,然後再次嘗試着讓這個合併的東西正確。我將UAT_BRANCH指定爲FROM(起始URL)和DUMMY-BRANCH作爲TO(結束URL)。我測試了合併,然後進行了實際的合併。當我刷新UAT_BRANCH並檢查了我的分支中的更改是否已重新整合時,我發現它不是。現在,隨後嘗試切換FROM和TO URL不會產生任何結果,可能會造成損害已經完成或者某些事情(我認爲重新整合已經發生並且沒有撤消它)。

我想要的是我在這種情況下做了什麼錯誤的一些清楚的解釋,以及如何實際上在SVN或實際上tortoiseSVN中進行合併。提前致謝。

+0

@KenWhite - 不確定它是否有所作爲,但鏈接中的答案假設工作目錄是中繼。上面的問題似乎並非如此。 – 2013-03-21 01:38:25

+0

@Kobojunkie - 我不知道你的問題是否重複。不過,我必須同意你的看法。 Tortoise SVN的合併過程似乎有些不自然,我每次都必須查看文檔。 – 2013-03-21 01:43:23

+0

我的問題不是重複的。我遵循TortoiseSVN的在線手冊,在創建另一個分支的分支之後,試圖將我的分支合併到原始分支中(注意,我沒有直接從UAT分支工作)。 – Kobojunkie 2013-03-21 03:32:11

回答

3

在這一點上 - 因爲你做了幾個意圖,也和切換 - 這是不可能的某些到底發生了什麼,現在是什麼情況。不過,我會建議以下內容(如通過TortoiseSVN UI進行)。

當你想復興分支,你必須:

  1. 更新Trunk的本地副本(UAT_BRANCH你的情況),並提交所有的變化,如果有的話。
  2. 端口變化從中繼線到分支。您可以通過選擇「合併一系列修訂版本」選項,然後選擇「」從「」合併的「中繼」。對於「合併版本範圍」,請選擇分支創建修訂版號作爲範圍中的初始值,並將HEAD修訂版號作爲最終版本(或者您可以將此框留空以獲得相同的結果)。試試「測試合併」,如果一切正常,合併它。你現在擁有的是一個分支的本地副本,並更新了Trunk的所有修訂版本。 (看起來你可能是在第一個意圖中這樣做的,以防你用「合併一系列修訂版」)。
  3. 如果在上一步中一切順利,您已準備好合併分支與中繼。現在選擇您的本地副本的中間文件夾並從合併菜單中選擇「重新整合分支」,然後從「從URL」選擇分支。對於「工作副本」應出現您的本地副本Trunk的文件夾。再次,測試合併之前運行真​​正的合併。現在你有一個分支更新的本地副本。如果您提交它,您將對回購進行所有更改。

也許,經過所有的嘗試後,你仍然有一個本地副本(DUMMY-BRANCH)更新爲Trunk修訂版。如果確實如此,請按照步驟3進行操作。如果您不確定,請嘗試恢復更改(小心不要丟失分支中的工作,爲了以防萬一,請複製副本),並檢查所有過程。

祝你好運!

6

似乎你試圖通過「合併兩棵不同的樹」來完成錯誤的場景。您需要「重新整合分支」場景,請參閱您所參考的同一在線手冊中的說明。 請注意,您必須在UAT_BRANCH工作副本上執行合併操作,並將DUMMY-BRANCH用作「From URL」。另外,您的Svn版本必須支持合併跟蹤。確保在合併之前您的UAT_BRANCH的工作副本是最新的,然後對其執行「重新合併分支」合併,然後提交更改。

相關問題