代码之家  ›  专栏  ›  技术社区  ›  Paul W Homer

如何使用Mercurial中的重叠存储库

  •  3
  • Paul W Homer  · 技术社区  · 15 年前

    通常我想拥有一个源代码的主要存储库,由几个“类似”的项目共享。每个子项目包含大多数相同的文件,但是一个特定的可配置实例。这意味着对于每个实例,通常有一组文件和目录需要不同。

    在cvs中,我创建了主存储库和次存储库,然后使用modules文件将这两个存储库绑定在一起以获得特定的名称。在SVN中,我使用svn:externals将辅助目录绑定到主目录中。

    什么在Mercurial中有效?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Community Mohan Dere    8 年前

    这取决于需要不同的特定文件的性质。
    如果可以将它们转换为模板文件,则可以:

    • 将主回购作为 SubRepo (如文档中所述:子报表是“最接近使用标记有 svn:externals “财产”
    • 有“类似”项目,将:
      • 将主要回购包括为子报告( referencing a specific revision )
      • 运行一个版本化的脚本,该脚本将 模板 使用每个环境的正确值来创建实际文件。

    这样,您就可以将模板(在主repo中)和值(每个类似的项目都知道这些值,具体取决于它们的特定环境)分开。
    也就是说,并不是每个文件的变体都可以被处理为“要实例化的模板”。

    推荐文章