|
12
|
| ralphtheninja · 技术社区 · 16 年前 |
|
|
1
13
只是一个简短的评论,提醒您:
然后 submodules 将用作定义 configuration .
前面提到的这两个点主张对大型系统(和大型遗留存储库)采用更面向组件的方法。 用 Git submodule ,您可以在项目中签出它们(即使这是两个步骤的过程)。但是,您拥有的工具比使子模块管理更容易( git.rake 例如)。
这就是我在帖子里描述的
Vendor Branch
作为“系统方法”:每个人都在最新的(头)上工作,它对少数项目有效。
|
|
|
2
5
至于mercurial方面,建议还将大型的遗留cvs/svn存储库重构为较小的组件。公共代码应该放在自己的库中,然后应用程序代码将以类似于它如何依赖其他库的方式依赖这些库。 Mercurial拥有 forest extension 它允许您管理“源树”的“森林”。通过这种方法,您可以将几个较小的存储库组合成一个较大的存储库。对于cvs,则相反:签出大型存储库的较小部分。 我没有亲自使用这个森林扩展,它的页面上说,与Mercurial捆绑的版本相比,应该使用一个更新的版本。然而,它 是 被一个像太阳一样的大组织使用 OpenJDK project . 根据上的设计,目前还正在进行将子存储库报告直接添加到Mercurial的核心的工作。 nested repositories page 在反复无常的维基里。 |