2014-03-27 79 views
3

我一直在研究這個開關數週,所以如果已經得到回答,我很抱歉。SVN合併分支到主幹導致已解決的文件發生衝突

我的主要問題是執行連續合併後合併。

我有我的/trunk,我從中創建了我的分支。然後開發人員繼續在該分支內開發。

在此過程中,團隊的其他成員繼續在/trunk之內進行小錯誤修復。分支機構每天都會更新來自幹線的更新。我們到了項目的最後,現在是時候合併回幹線。這是問題發生的地方。

在這個特殊的例子中,很多舊的,duff文件被從/trunk中刪除。這與成功合併。所以幹線和分支都刪除了這些文件。

我去使用TortoiseSVN以下設置合併到/trunk

Imgur Link

與測試合併運行,突然刪除創建的衝突棚負載。用傳入刪除進行刪除。這也會發生在已添加的任何新文件,添加了傳入添加的文件中。

我的問題是我該如何解決這個問題? SVN是否意味着自動計算出來?我可以繼續並手動選擇所有不是從主幹合併的修訂版,但這看起來不對。

我在TortoiseSVN 1.8.4和Subversion Edge 4.0.4(Subversion 1.8.5)上運行。

我們SVN結構一般如下:

\---svn 
    +---branches 
    | +---featureone 
    | \---featuretwo 
    +---production 
    \---trunk 

我們沒有版本,我們所有的客戶都具有相同的代碼庫(儘管這可能在未來改變)。

任何幫助將不勝感激。

+0

從樹幹做合併時分支我有類似的問題,然後從分支合成合併到主幹。我的解決方案是隻強制合併一種方式,這與SVN保持每日同步特性分支的最佳做法相反,然後與trunk重新集成。保持這個問題是最喜歡看到答案 – Slav

+0

快速更新。我設法通過使用CollabNet的Eclipse SVN插件來解決這個問題。在合併到主幹時,我只需選擇「所有合格修訂」,SVN會自動計算出哪些修訂需要合併,而不會與之前的主幹提交混淆。問題解決了...... ish。 – chandler3224

回答

1

您的場景看起來很像您需要使用重新合併選項進行合併。 根據你的截圖,你試圖合併一組修訂版本,而不是整棵樹。 TortoiseSVN的文件說:

如果功能將需要更長的時間,你需要考慮在行李箱的變化,那麼你需要保持同步的分支。這只是意味着您需要定期將樹幹更改合併到分支中,以便分支包含所有樹幹更改以及新功能。同步過程使用合併一系列修訂。 當功能完成後,您可以使用重新合併分支或合併兩個不同的樹來將其合併回主幹。 https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html