检出商品库的子集

| 首先,我有一个非常大的cvs存储库,并且我正在尝试将其转换为Mercurial。 cvs存储库由几个目录组成,有点像本问题中的情况。但是,每个子目录不是一个完整的独立项目。每个项目都使用整体的子集,但它们的交集并不为空。 这是一个示例来说明:
/cvsroot
    .../core
    .../feature-1
    .../feature-2
项目1使用core和feature-1;项目2使用核心和功能2。我不希望在项目2上工作的人的工作副本中包含feature-1目录,因为它实际上是一组大约30个目录,并且空间并不小。 有没有一种方法可以轻松(或替代地,很好)地解决这一问题?我考虑过为路口使用一个单独的存储库,但这不是最理想的。这意味着要进行额外的提取和更新,并可能编写大量脚本来对其进行管理。 我的另一个选择是在每个路口中复制路口。但这并不好,因为它可能导致派生通用代码,因为不同的人在其中的不同部分上工作。     
已邀请:
使用Mercurial子存储库应该对此有所帮助。我将
core
feature-1
feature-2
定义为独立的存储库,然后使用子存储库功能将它们链接在一起。项目1将吸引
core
feature-1
,而项目2将吸引
core
feature-2
。每个基础存储库仅存在一次,因此不同的项目可以有效地共享它们。 您可以配置子存储库,以便当Project 1执行提交和推送时,它同时推送到
core
feature-1
,或者您可以要求用户通过导航到目录并将它们像普通回购一样来显式提交给它们。 最后,您只能在存储库级别创建子存储库。换句话说,您不能在每个文件级别上创建它们。     

要回复问题请先登录注册