2010-11-18 87 views
1

我們正在組織一個以4個團隊(網站,服務器,小程序,部署)組織的大型項目。有時候,每個團隊的成員必須對其他團隊的代碼進行較小的更改(例如:):applet團隊的成員必須在網站中添加一個字段,或者服務器團隊的成員必須更改部署腳本)。多個Mercurial存儲庫或單個克隆

目前,每個團隊都有自己的mercurial存儲庫,並且我們使用版本號來組織團隊之間的依賴關係。 (小程序3.4版所需要的網站1.7版

我認爲,我們善變的組織是不是最優的,我的想法是有一個大的Mercurial庫MASTER,這將在網站被克隆,SERVERAPPLET and DEPLOYMENT。每個團隊的每個成員都可以訪問他人的代碼,並且由於不同的克隆,他們不會受到其他團隊的承諾的影響。

SO社區在想什麼?

回答

3

您應該爲單獨的組件維護單獨的存儲庫,併爲組件之間共享的任何碎片(庫如果您願意)維護其他單獨的庫。然後使用subrepository功能讓組件回購包含共享內容。

將所有東西合併成一個大回購在svn中效果很好,但是在Mercurial或任何DVCS中,最好使用較小回購的組合。

+0

+1我同意。事實上,我正試圖組織一個完全像這樣的框架項目。每個項目都有自己的獨立回購。然後我有另一個回購,通過使用subrepo功能收集所有回購。然後爲了讓每個項目都意識到其他項目的依賴性,我首先想到了在subsel中使用subrepos,但它感覺錯了。我試圖建立一個基於CMake的組織,使獨立項目能夠獨立工作(爲依賴關係提供CMake路徑變量)或獲得擁有一切的「主」回購(在subrepo和CMake路徑中已經設置) – Klaim 2010-11-18 17:36:26

相關問題