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