我的團隊使用SVN進行源代碼管理。最近,我一直在從樹幹偶爾合併,這是一個相當惱人的經歷(比較Joel Spolsky的"Subversion Story #1"),所以我一直在尋找替代方法來管理分支和合並。鑑於中央SVN存儲庫是不可協商的,我想要的是一組滿足以下條件的工具。在SVN中維護分支機構的工具
完整的修訂歷史應該存儲在SVN中,用於中繼線和分支。
在任一方向(可能縱橫交錯)合併應該是相對無痛的。
合併歷史應儘可能存儲在SVN中。
我已經看了兩個git-svn
和bzr-svn
既不似乎是勝任工作—基本上,考慮到修訂歷史記錄,他們可以從SVN倉庫的出口,他們似乎無法做任何好作業處理合並比SVN可以。例如,在使用git
克隆版本庫之後,我的分支的修訂歷史記錄顯示原始分支脫離中繼線,但git
沒有「看到」任何臨時SVN合併爲「原生」合併—修訂歷史記錄爲一長線。因此,任何試圖從git
中彙總幹線的嘗試都會產生與SVN合併一樣多的衝突。 (此外,git-svn
documentation明確警告不要使用git
到部門之間的合併。)
是否有辦法來調整我的工作流程,讓git
滿足上述要求?也許我只需要提示或技巧(或單獨的合併工具?)來幫助SVN更好地融入分支機構?
聽起來像你真的需要說服你的團隊使用git。 :P – Amber 2010-03-29 05:22:11
我認爲,不幸的是,你面對SVN僅僅限於合併分支的能力這一事實 - 只要你的中央回購是一個SVN回購,那麼任何數量的git魔法都很難拯救你。我當然很好奇,看看有沒有好的工作雜誌! – Cascabel 2010-03-29 05:23:00