如何将blame从已删除的文件转移到它的替换?

时间:2017-07-05 00:47:48

标签: mercurial

我从文件OldController.php开始,并将其转换为NewController.php。这是我的工作流程:

  • 提交:删除OldController.php并创建NewController.php
  • 修改:在NewController.php
  • 上做一些工作
  • 修改:在NewController.php
  • 上做更多工作

(相当肯定这些修正没有任何意义,但我认为无论如何我都会提到它们。)

那么,如何查看OldController.php的历史记录并将其指向NewController.php

我知道我可以回去手动执行此操作,但我想知道如何在mercurial中执行此操作。

2 个答案:

答案 0 :(得分:2)

更新回OldController.php仍然存在的最新修订版。此时,使用hg mv将其有效地重命名为NewController.php。提交重命名。这创造了一个新的头脑。

此时你有几个选择:

  1. 将您刚刚提交的提交合并到已经拥有NewController.php

    的其他负责人
  2. 重新启动从第一次提交开始的所有内容,将NewController.php包含在您刚创建的新头中。

  3. 无论哪种方式都有效,但这取决于您是否要保留此更改的历史记录,或者您只是为了让它看起来像是从一开始就重命名它。

答案 1 :(得分:1)

使用hg cp(或hg mv,如果您只想重命名文件),而不是删除一个文件并重新创建另一个文件。这样mercurial知道新文件基于旧文件并将相应地显示历史