2011-04-08 60 views
6

定的存儲庫A和庫B(創建關變更A2的克隆):Mercurial - 差異合併存儲庫A-> B vs B-> A?

A1 - A2 - A3 - A4 - A5 
     \ 
      B3 - B4 

假設我們希望這兩個庫合併到一起。如果我們將回購B合併到回購A與將回購A合併到回購B中有什麼區別嗎?

我能想到的唯一差異是合併工具本地/基地arguments將取決於您選擇的選項。是否還有其他差異要注意?

+2

術語注:您合併*頭*,而不是*庫*(可能有多個頭)。 – 2011-04-08 12:25:59

+0

瞭解 - thx。 – 2011-04-08 13:21:10

+0

我更新了問題以使用普通的Mercurial術語。 – 2011-04-08 13:44:36

回答

8

合併一般是對稱的,也有一些例外:

  • 如果合併後的頭從不同命名爲分支,順序很重要。合併 修訂版將位於第一個父母的分支上。
  • Mercurial 1.8.4開始,這同樣適用於書籤,即只有第一個父母的書籤
    將向前移動到合併修訂版。
  • 合併版本的父母在日誌和差異視圖中的順序是不同的,但該 沒有任何值得注意的實際影響(從我的經驗)。
+0

也許你知道。我一直在假設我應該在分支中進行最少的變更合併(即更新爲h1,並在h2中合併,其中h2自公共點起的變更少於h1),那麼真的需要做「最好的事情」?也許爲合併算法或更少的工作更少?我不記得爲什麼我會做出這樣的假設,而是根據你的回答來判斷,而我對它的考慮越多,這聽起來就像我的假設是錯誤的。這與多個命名分支無關,只是兩個頭在同一個命名分支中,就像默認分支中那樣。 – 2011-04-10 21:31:52

+0

有趣的一點。如果我考慮這個問題,我也傾向於將這個分支合併爲更少的變更。但是,從技術上講,我也想不出有什麼好的理由。也許這個假設是一個基於如果必須完全手動完成合並的錯誤觀念。 – 2011-04-13 17:23:17

+0

我想我會在Mercurial郵件列表上詢問,如果我以某種方式得到明確的答案,我會回覆一條評論。 – 2011-04-13 17:27:07

4

合併父母的順序會有所不同,但這隻會影響您在查看合併變更集時首先看到的差異。否則,如果更新到B4併合併到A5或反之,則沒有任何區別。

相關問題