2011-07-06 64 views
4

我們有一個SVN項目,其中分支B是我工作的,分支C是同事工作的。 (他主要工作在一個代碼區域,我主要工作在另一個區域)svn:除主幹以外的分支之間的合併

如果我們希望在合併到主幹之前保持同步,他和我應該如何合併?

我們在合併內容時沒有任何問題,但由於顯而易見的原因,內容(特別是svn:mergeinfo)不斷顯示樹衝突,並且總是給我們帶來麻煩。

我們該怎麼辦?

+0

因爲他在他的領域是出血性的(即阿爾法狀態或更糟糕的),而我在我的領域是流血的邊緣,我們需要保持分離狀態,直到我們各自的分支處於良好狀態,此時我們再次合併。 –

+0

感謝您的回覆。 –

+0

@Vivek:你爲什麼要刪除你的評論?這是一個有效的觀點,但現在情況已經消失。 –

回答

2

如果你們都可以在同一個分支上工作,那麼可以考慮對所有分支進行無基礎合併,並放棄其他分支。如果您的分支中有其他更改必須保持獨立,請仔細考慮挑選合併到單個分支的變更,然後還原源分支中的更改。

(供參考)結構:

  • 中繼線
    • A分支
    • 科乙

過程會是這樣的以下內容:

  1. FI(Forward Integrate)Trunk to both children。 (合併中繼線到分支A,然後中繼線到分支B)。
  2. Baseless merge from B to A
  3. 放棄B(至少鎖定以防止意外使用退休分支)。
  4. FI幹線到一個再次(重新建立合併關係,熨平引入進一步的更改之前的任何合併衝突。
  5. 你和其他開發人員繼續在分支一個直到穩定發展。
  6. FI幹線到一個(拿起其他開發商或其他主幹活動的最新變化)
  7. 快速建立和運行冒煙測試(確認FI成功,A是ST病態穩定)
    1. 如果在煙霧測試過程中出現更多幹線變化,則重複6 & 7或可能鎖定後備箱,直至完成第6至8步。如果有共享在未來孩子分支之間不穩定的變化可能避免:
  8. RI(逆向整合)A到中繼線

IDEA。無標準合併和櫻桃採摘變更都是比標準完整的父母子女合併更高的風險操作。一個評價是使用共同的開發分支,然後只在需要時才按功能分支。所有開發人員都使用通用開發分支進行更改。當發生變化時需要多個開發人員構建&穩定創建功能分支。一旦穩定集成回Dev分支並退出功能分支。

+0

對於信息+努力+1,但它不是一個真正便捷的工作方式。 –