随着时间的推移,我开发了多种实用功能、类和控件,我可以在多个项目中重复使用它们。对于这些项目中的每一个,我都有一个 Mercurial 存储库,并且我复制了可重用的项目。显然这很糟糕,因为如果我修复了其中一个可重用组件中的错误,我必须在所有存储库中手动复制代码,并且我可能会在此过程中出错。
你如何处理这种情况?如何使用 Mercurial 跨多个存储库共享代码,如果我在一个存储库中进行更新,我可以轻松地与其他存储库集成。
随着时间的推移,我开发了多种实用功能、类和控件,我可以在多个项目中重复使用它们。对于这些项目中的每一个,我都有一个 Mercurial 存储库,并且我复制了可重用的项目。显然这很糟糕,因为如果我修复了其中一个可重用组件中的错误,我必须在所有存储库中手动复制代码,并且我可能会在此过程中出错。
你如何处理这种情况?如何使用 Mercurial 跨多个存储库共享代码,如果我在一个存储库中进行更新,我可以轻松地与其他存储库集成。
查看子存储库:https ://www.mercurial-scm.org/wiki/Subrepository
它们不会帮助您使其他副本保持最新(您必须手动执行此操作),但它们会使这变得容易(您将hg pull; hg update
在子存储库中使用,然后提交父存储库)。
另一个选项(我在不同的项目中使用)是强制布局,然后简单地假设“实用程序”存储库存储在../utils
,相对于每个“真实”存储库。