mercurial - 将多个子存储库 merge 为一个并在 Mercurial 中保留历史记录

标签 mercurial subrepos

目前我有一个由多个存储库组成的项目,例如:

+---Project (main repo)
    +---Core (subrepo)
    +---Web (subrepo)
    \---Tests (subrepo)

不幸的是,子存储库之间的代码耦合度很高,因此它不能很好地与分支一起工作。

有没有办法将子存储库 merge 到一个主存储库中以保留历史记录?

最佳答案

我首先将 hg Convert 与排除 .hgsub 和子存储库的文件映射一起使用。接下来,在子存储库上使用 hg Convert 并重命名文件映射中的条目,例如: rename 。核心

获得这些新存储库后,您可以使用 hg pull -f 将变更集从转换后的子存储库一次导入到转换后的主存储库中。您还需要将它们 merge 到新的主存储库中(它们形成单独的头,并将空修订版本作为最近的共同祖先)。

关于mercurial - 将多个子存储库 merge 为一个并在 Mercurial 中保留历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882617/

相关文章:

mercurial - Mercurial 是推送所有本地分支还是仅推送工作分支?

visual-studio - 将大型存储库拆分为多个子存储库并保留历史记录 (Mercurial)

version-control - 管理复杂的存储库结构 - 模块依赖项和共享代码

mercurial - 是否可以将 Mercurial subrepo 路径从绝对更改为相对

git - 在源代码管理中我应该保留哪些 ReSharper 文件以及应该忽略哪些文件?

mercurial - 使用什么命令从 Mercurial 存储库中排除文件?

python - 如何在 Mac OS X 10.8 上安装 hg 转换所需的 python 颠覆绑定(bind)?

python - 在 Mac OS X 10.6 Snow Leopard 上安装 Mercurial

mercurial - 在 Mercurial 中使用 subrepos

Mercurial:子存储库错误 -- "abort: commit with new subrepo [path] excluded"