如何将应用程序中的每个组件保留在单独的版本控制存储库中?

时间:2011-10-07 15:01:54

标签: git mercurial

我希望将应用程序的每个组件保存在一个独立的独立存储库中,并使用自己的版本控制,因此它们可以单独分发(例如:您可能只想使用一个或两个组件)

使用mercurial或git有没有标准的方法呢?

我在symfony2中看到过这样的内容,所有捆绑包都是独立的,只需一个命令即可从各自的远程存储库进行更新。

嵌套存储库怎么样?这可能吗?

2 个答案:

答案 0 :(得分:4)

使用git,每个组件都应该有一个子模块。

然后,从您要分发的不同应用程序中,只需使用您需要的每个子模块中的正确版本。

这是一个非常通用的问题,您可以在以下设置中查看有关子模块以及如何在设置中使用它们的更多信息:http://book.git-scm.com/5_submodules.html

答案 1 :(得分:2)

使用Mercurial,您正在寻找Subrepos(另请参阅wiki链接)。

每个组件可能是独立的Mercurial仓库。然后,这些组件可以作为子参数嵌套在“父”仓库中。

父代表指向每个子代码的特定修订版,因此不同的项目可能使用不同的版本。