2010-11-18 40 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

相关问题