我有一个mercurial存储库,其默认分支包含顶层的两个目录:“demo /”和“product /”。我想做以下事情,如果可能的话保留更改历史记录:
1)将“demo /”中的所有内容放入新的演示分支中。 demo /中的所有文件将在这个新分支中向下移动一级,默认或演示分支中不会存在任何demo /文件夹。
2)将“product /”中的所有内容向下移动到默认分支中,然后删除产品/目录。
第二部分看起来很简单,可以使用简单的“hg mv”对存储在product /下面的一个级别的所有文件和文件夹进行操作。所以我认为只要hg mv处理产品/目录树中所有文件的路径发生变化这一事实就行了。
第一个问题是我遇到了麻烦。具体来说,如何做而不会丢失demo /中包含的所有文件的历史记录。经过一番阅读,hg rebase似乎不是一个解决方案。这里有很多历史(这个存储库最初是CVS,然后迁移到SVN,现在是Mercurial)。我搜索了这个问题的解决方案,所有这些都集中在将整个变更集移动到不同的分支,这不是我想要的。对我来说,最好的方法是什么?
答案 0 :(得分:0)
如果我理解正确,这将需要3个步骤。
第1步
default
分支第2步
default
分支demo
分支(提交B )第3步
default
分支)