2014-01-08 140 views
2

我想創建兩個單個項目的svn倉庫(一個是其他@不同位置的備份),以及如何在一個倉庫中同時與任何代碼提交進行同步。同步兩個svn倉庫

+0

所有的提交將去只有一個回購,或者可以去兩個?兩個存儲庫上的 – janos

+0

.. –

回答

0

基本上有兩種解決方案可以滿足你的需求。

免費的解決方案

一個回購協議是主人和其他人是奴隸。從設備可用於讀取並使用svnsync保持與主設備的同步。從站有一個SVNMasterURI http://master.example.com/svn/repo,它提供主服務器的URI。寫入將代理給主。

C. Michael Pilato has an excellent blog張貼關於如何設置。

但這並不完全是你要求的(儘管寫入只發給主服務器的事實對用戶來說基本上是透明的)。

另請注意,此解決方案僅適用於DAV(http或https)訪問。

商業解決方案

WANdisco(全面披露:我的僱主),使這都是爲了讓主動 - 主動使用Subversion版本庫,並保持同步你們兩個產品。他們被稱爲SVN MultiSiteSVN MultiSite Plus。 SVN MultiSite僅支持DAV,但MultiSite Plus也可以支持svnserve。

這正是你想要的,但不幸的是不是免費的。

0

爲你的svn回購


從將使用通過代理的主服務器寫創建主從架構。所以任何提交給從服務器都會轉到主服務器。


主機使用後commit鉤子寫回的奴隸。

這需要表示寫入從屬應該使用
SVN主初始化初始化爲第一次。之後,提交掛鉤將完成任務(svn sync命令)。

所以結構是這樣的
從從從從
1.結帳。
2.提交到從
3.從器件將重定向提交掌握
4.後提交已經完成,以主,主將更新從屬


來自主控器
1.從主結帳
2.從主設備提交
3.提交完成後,主設備將更新從設備。
4.如果從站未啓動並運行,則可能需要在啓動slave之後再次執行post-commit hook。



這種方法也可以用於多個從站。在多個從所有從機應該使用write通過代理掌握和後提交主的鉤子應該對所有的奴隸