星期日, 8月 31, 2008

Subversion

Subversion 1.5 後終於有存 merge history,不再需要自己計算 merge 的部份。不過目前的版本問題還是不少 (目前是 1.5.1),使得使用起來還是綁手綁腳的。

一個常見的情況是錯誤的 commit:有些 developer 會把非 branch only 的修改直接 commit 到 branch 裡 (就別問為什麼會這樣了),這時候一個簡單的作法是把這個 commit merge 回 trunk。但這樣會造成 Subversion 之後要再從 trunk merge 到 branch 時混亂。目前的解法是在 trunk 再 commit 一次,然後故意 merge trunk to branch 造成 conflict,然後把他解掉。

不過這陣子開始在研究 Mercurial 了,因為 Mercurial 也有 centerialized pattern 可以中央集中管理,目前已經測的差不多,只要把 Subversion 的 post-commit 都移植過去就可以了。

沒有留言: