考虑以下多模块项目(在单个存储库中):
Module A (i.e. parent)
- Module 1 (various core stuff)
- Module i
- Module 2 (non-core, depends on 1)
- Module ii
- Module iii
(这样设置的原因是它使一些开发人员可以只处理单个模块(例如2
及其子模块),而其他开发人员可以处理整个代码库(例如A
及其子模块)。
然后让我们假设它Module ii
已被重新分类为core
,并且需要移入Module 1
。
我可以通过Module ii
从Module 2
to移动来处理这个问题Module 1
。但是,mercurial 将其视为删除 (from 2
) 和 add (in 1
),因此我们会丢失ii
移动之前的修订历史记录。(我知道我们实际上不会“丢失”它,因为它仍然可以在 mercurial 中使用;但是,在新位置的文件中不容易访问它)。
如何移动文件并让 mercurial 使用这些文件移动修订历史记录?