通常我想拥有一个源代码的主要存储库,由几个“类似”的项目共享。每个子项目包含大多数相同的文件,但是一个特定的可配置实例。这意味着对于每个实例,通常有一组文件和目录需要不同。
在cvs中,我创建了主存储库和次存储库,然后使用modules文件将这两个存储库绑定在一起以获得特定的名称。在SVN中,我使用svn:externals将辅助目录绑定到主目录中。
什么在Mercurial中有效?
这取决于需要不同的特定文件的性质。 如果可以将它们转换为模板文件,则可以:
svn:externals
这样,您就可以将模板(在主repo中)和值(每个类似的项目都知道这些值,具体取决于它们的特定环境)分开。 也就是说,并不是每个文件的变体都可以被处理为“要实例化的模板”。