2010-05-07 103 views
6

我懷疑我有損壞的mergeinfo,但我不確定。有誰知道我該如何做出決定,並且有哪些資源可以幫助解決問題?如何確定svn:mergeinfo是否損壞,我將如何修復它?

這是問題所在。我的團隊最近轉向敏捷,並使用功能分支(真正的故事分支),其中不同團隊同時處理同一個源。隨着故事達到高度準備狀態,團隊合併爲主幹。由於缺少更改,意外更改和衝突,合併需要幾天或幾周的時間。我們正在談論5-10人的團隊,努力/流失看起來很高。

人使用此合併模式 一)PULL - 合併樹幹到樹枝,解決,測試,提交 二)PUSH - 合併分支到主幹,解決,測試,提交 C)重新創建分支(或通常創建新的故事分支,並且因爲完成而丟棄舊的分支)

在此結束時分支和主幹應該對齊。

的問題,我們看到:

    期間未報告
  1. 變化中繼線到分支合併在SVN隨後分支到主幹
  2. 衝突顯示:在合併過程中合併信息的屬性
  3. 文件丟失,但本地編輯新文件添加到分支並推送到主幹
  4. 傳入+本地刪除(在主幹和分支上刪除的文件顯示爲衝突)

(1)不應該發生。從分支到中繼線的拉動應該使兩者同步,以用於中繼線上的所有更改。分支到主幹合併的更改是發生在主幹上的更改。所以在第一次合併時,它們應該已經傳播到分支,但沒有。這指向mergeinfo數據中會「隱藏」中繼線更改的損壞。

(2)不應該發生。 SVN應該管理合並跟蹤中的更改。這也指出mergeinfo數據中的損壞

(3)不應該發生。這是在分支上添加新文件的情況。它應該顯示爲添加到主幹的新文件。這也指向合併信息數據中的損壞。

(4)我相信這是一個SVN錯誤,我們無法解決這個問題。如果這是我們唯一的問題,我會很高興

我們目前在svn 1.5.x服務器上使用svn 1.6.x和svn + ssh進行連接。我們計劃升級到最新,最好的SVN,因爲一些修復可能會影響我們的問題。

不過,它確實看起來像我們的mergeinfo數據是錯誤的。

  • 梅傑斯不報告所有的合併信息的屬性

的好地方,我開始尋找的合併更改

  • 衝突?

  • +0

    SVN 1.6.11客戶端可能是我的答案。我使用了wandisco升級站點(這是岩石),並且合併地獄不那麼好玩 – 2010-05-07 21:50:14

    +0

    您是否在使用「--reintegrate」標誌進行「推送」合併?事實上,在你向我暗示你不是的情況下,你有一個「解決」的步驟。我找不到具體的文件說雙向合併沒有「--reintegrate」不能工作,但「--reintegrate」的存在表明svn的合併否則無法完成任務。 – slowdog 2010-10-30 19:33:56

    回答

    2

    我做了一些SVN分支/合併的實驗,並且發現合併時有些情況不起作用 - 例如從trunk中改變被覆蓋。所以,如果你繼續使用SVN進行功能分支,你將會處於痛苦的世界。

    我用git做了類似的實驗,我還沒有找到一種方法來獲得不正確的合併。如果團隊/管理層可以接受git,我強烈建議使用它。

    +0

    我聽到了,但mergeinfo屬性上的衝突似乎表明存在更深層次的問題 – 2010-05-07 19:38:08

    +1

    我認爲我應該弄清楚自己:我試圖在SVN中打破合併,併成功進行第二次嘗試,但是我無法創建在Git中損壞/不正確的合併。因此,您可以嘗試追蹤mergeinfo問題的根本原因,或者您可以更有效地利用時間並切換到更多支持分支的版本控制系統。 – chalup 2010-05-07 22:55:48

    +1

    在我操作的時間範圍內轉移到git不是一個選項。所以,我需要解決我的問題在SVN – 2010-05-10 13:49:22

    2

    由於相似的情況,我們遇到了類似的問題,並且很大程度上解決了這些問題。

    主要的一個是這樣的:

    如果您正在合併成從分支創建之後主幹您的分支,你需要標誌主幹與分支提交(用svn合併--record僅-),否則當您嘗試重新集成回主幹,它會嘗試將主幹的提交合併到分支回到主幹。

    這顯然最終還原更改後trunk->分支後行李箱作出承諾,往往(如果你創建了一個新的文件或目錄樹幹樹特別是衝突)等

    所以導致大規模衝突我們的流程是要麼永遠不會同步軀幹成一個分支,它已經創建(之後短暫的分支正常工作),或執行以下操作:從主幹

  • 承諾主幹和分支
    • 分枝b
    • 重新集成中繼到分支和提交(解決衝突,但不作任何更改,甚至編譯)
    • 立即執行svn合併 - 只記錄中繼到分支提交版本
    • 修復任何其他問題分支並繼續開發
    • 完成後從分支重新集成到主幹。

    我發現:http://www.collab.net/community/subversion/articles/merge-info.html有幫助,同時搞清楚我們做錯了什麼。

    +0

    另請參閱http://stackoverflow.com/questions/3309602/subversion-branch-reintegration-in-v1-6 – Malcolm 2011-08-31 21:35:45

    相關問題