2013-09-23 63 views
0

這是此問題的延續部分:TortoiseSVN merging branch to trunk 如果原始問題只需要編輯,請讓我知道,我會這樣做。TortoiseSVN將樹枝合併到樹幹

以下是當前情況。

在我的電腦上有一個工作副本的項目,它全部是最新的。我在此基礎上創建了一個新分支,並將我的工作副本切換到這個新分支。

由於這樣做了另一個開發人員檢查了幹線的一些變化,我對分支做了一些更改。我不認爲我們已經改變了相同的文件,所以我們應該是好的,就任何衝突而言。

我想將我的更改合併回幹線。

我選擇合併,然後選擇合併一個版本的範圍。從我選擇的樹幹合併的URL。範圍是空白的。當我做一個測試合併時,它似乎添加了添加到項目中的每一個文件 - 它肯定增加了更多的文件,然後在我從樹幹中分離出來以後發生了變化。當應該更改10或20個文件時,它會執行數百個文件。

我是否應該選擇其他開發人員簽入中繼的修訂範圍?或者我應該選擇「合併兩棵不同的樹」?如果我嘗試一下,並嘗試從trunk到我的分支進行測試合併,我會發生衝突。如果我嘗試從我的分支做到主幹,它看起來像是有效的。雖然我會然後想把所有東西都推回到主幹,因爲我在我的分支中做了一些修復,我想在分支中進行更多更改之前將其包含在主幹中。

編輯:更詳細一點幫助清晰度當前設置

我的工作拷貝以前行李箱的一部分。我用烏龜來創建一個新的分支,並將我的工作副本切換到該分支。因此,該項目的樣子: /項目/分支機構/ mybranch

樹幹看上去像 /項目/主幹

其他開發人員查了一些變化爲主幹,我也查了一些變化成mybranch。我想在mybranch上做更多的工作之前,將所有這些變化重新合併到主幹中。當我查看mybranch的日誌時,只有3個checkins; 153,154和159(和153是分支的只是創造) 當我有4個,因爲它是從樹幹分裂查看日誌幹線:155-158

不應該有任何衝突,因爲我們沒有不在相同的文件上工作。

如果我嘗試合併FROM mybranch並且不指定修訂範圍,它似乎是在項目中添加每個文件。即我做了一個測試合併,它顯示了數百個文件被添加。

如果我做了一個測試合併FROM trunk,並指定修訂版本155-158,看起來它會將所有從trunk的更改合併到我的工作副本中。我想,如果我這樣做,我可以然後檢查一切到mybranch在哪一點,我只需要弄清楚如何合併一切回到樹幹。

以上所有內容均使用「合併一系列修訂」進行。

如果我嘗試做'合併兩個不同的樹',並嘗試合併從主幹到mybranch(與修訂頭)我得到一個衝突。

如果我嘗試從mybranch合併到主幹,它看起來像它的工作。

從我所看到的,它看起來像從mybranch合併到樹幹是我想要做的。我只是不確定,因爲到目前爲止,我被告知不這樣做。

我希望一切都進入主幹。我計劃對mybranch中的代碼進行大的更改,這會在項目完成之前破壞項目,這就是爲什麼我希望在我開始之前更新主幹,以防我需要修復任何現有的代碼。

EDIT2:當我做修改的合併範圍,並選擇mybranch作爲URL從合併,這是烏龜窗口的命令顯示的內容: 命令:/分支合併修訂1頭/ mybranch到C:\用戶\ XXXX \文檔\ Visual Studio 2010的\項目\ MyProject的,尊重祖先,僅測試

我的工作拷貝已經在mybranch。所以對我來說,這聽起來像是將mybranch合併到我的工作副本中,這已經是mybranch的一部分,所以基本上它將mybranch合併到自身中了?

合併FROM主幹是唯一對我有意義的事情。如果合併FROM trunk並選擇另一個dev簽入的修訂範圍,則輸出看起來是正確的。那時,我只需要將它們全部合併回主幹。

命令:合併修訂/後備箱154-158到C:\用戶\ XXX \文檔\ Visual Studio 2010的\項目\ myproject的,尊重祖先,僅測試

的修訂數字,不管是:

樹幹:155-158 - 這些是其他開發簽入中繼線的修訂

mybranch:153,154和159 153是分支的創建。 154和159是需要合併到主幹中的實際文件更改。

另一個命令我剛剛嘗試過,似乎它會做我想要的是如果我從mybranch合併到trunk並指定修訂版154或159下的FROM和修訂152下的TO(主幹)。我從來沒有嘗試過使用當前版本以外的任何東西,但是我不確定如果我將某個修訂版與幾個數字合併,會發生什麼情況。

命令:/分支機構/ mybranch,修訂154 /行李箱,修訂152放到C合併:\用戶\ XXXX \文檔\ Visual Studio 2010的\項目\ myproject,而尊重

讚賞澄清任何幫助正確的方法來做到這一點。

感謝

+0

路徑是否正確並在您的項目/解決方案層次結構中處於相同深度?也就是說,如果你有'svn:// example.com/foo/trunk/project /'和'svn:// example.com/foo/mybranch /'來確保選擇'svn://example.com/foo/trunk/project /'而不是'svn:// example.com/foo/trunk /'爲合併網址 –

回答

5

網址合併來自我選擇的樹幹。

如果你想合併回trunk,那麼URL從合併是你branch。您從branch的存儲庫版本合併到本地中繼副本。合併完成後,請檢查後備箱。

更新:對於所有不想波紋管閱讀整個評論誰:由於在評論中提到梅爾克,就必須有一個主幹簽出副本。

+0

當我這樣做的時候,如果我沒有指定修訂範圍,那麼它看起來好像它是在每一個來自該項目的文件。在主幹和我的分支之間只有20個文件已被更改。但是,當我按照你的建議做時,它會添加數百個文件。如果我選擇了我簽入的修訂版本,然後進行測試合併,則沒有任何更新。我將用更多的細節更新我的原始問題,以嘗試清楚當前設置是什麼。 – merk

+0

你想要的「合併範圍修改」沒什麼特別的,合併分支到主幹是日常業務。他希望添加數百個文件似乎是svn-client(烏龜)的配置問題。 – Micha

+0

我不太確定龜會出現什麼問題。我沒有做任何不尋常的事情。到目前爲止,它一直在正常工作。我認爲我們之間只是存在一些錯誤的溝通,應該如何做。例如,如果你建議在URL中合併我從中選擇樹幹,它如何知道在哪裏合併回來?我的工作副本是分支的一部分。因此,如果它告訴它從mybranch合併,它如何知道將它合併到哪裏?我將再次更新這個問題,並附上一些額外的細節。 – merk