我们正在考虑从 SVN 迁移到 Mercurial,但遇到了一个绊脚石。
我们目前使用svn:externals
自动将一组通用库拉入工作目录。我在 Mercurial 中找不到这样的支持。
有没有办法使用 Mercurial 自动执行此操作,或者我是否需要在构建过程中伪造它?
我们正在考虑从 SVN 迁移到 Mercurial,但遇到了一个绊脚石。
我们目前使用svn:externals
自动将一组通用库拉入工作目录。我在 Mercurial 中找不到这样的支持。
有没有办法使用 Mercurial 自动执行此操作,或者我是否需要在构建过程中伪造它?
森林扩展的功能似乎正在核心 Mercurial 中实现(从 1.3 开始):
https://www.mercurial-scm.org/wiki/Subrepository。
目前标记为“实验性”,但可能是处理 svn:external -v1.4 的类型功能的途径。
仅使用 mercurial 没有好方法。其他地方提到的森林扩展会导致现在修复的更多问题。大多数人只是使用一个大型 repo 并将所有组件包含在 repo 中,然后让他们的构建脚本下载并使用 3rd 方库——如果他们是 Java-heads,则使用 maven。
简短的回答“在你的构建过程中伪造它”。
更新:
在 Mercurial 1.3 中,添加了一个新的 sub repos 功能。它就像旧的森林扩展,但以全新的代码开始。
Subrepos被认为是“不得已而为之的功能”。
你试过Deps Extension吗?
它不是 Mercurial 的一部分,但似乎模仿svn:externals
功能
试试 Mercurial 的Forest Extension。