重塑而不失历史 - TortoiseHG

时间:2015-01-12 10:39:17

标签: version-control tortoisehg

我做了一些重构,导致原始文件的某些内容被拆分成其他几个文件。但是我不想丢失移动到其他文件的代码的历史,但我似乎无法找到在Tortoisehg中实现此目的的方法。保持代码历史记录的最佳策略是什么?这甚至是可能的还是我需要使用原始文件来获取代码的历史记录?

1 个答案:

答案 0 :(得分:1)

您必须在中间使用控制台hg copy。或者用-A选项修改错误(没试过)

示例便于案例

>hg log
2015-01-13 23:48 +0500  fd3ee8f03c54 [tip]

        * fileA.txt, fileB.txt: new file.
        * file.txt: deleted file.
        * file.txt, fileA.txt, fileB.txt:
        Refactoring

2015-01-13 23:44 +0500  0c2bb611605a

        * .hgignore, file.txt: new file.
        * .hgignore, file.txt:
        Initial state

I.e。:file.txt在初始变更集中提交,后来分为fileA.txtfileB.txt并已删除

在fd3ee8f03c54之前,我使用

录制了Mercurial的副本
>hg cp file.txt fileA.txt
>hg cp file.txt fileB.txt

并记录单个文件,与-f选项一起使用,现在知道文件祖先

>hg log -f fileA.txt -T "changeset:\t{rev}:{node|short}\n"
changeset:      1:fd3ee8f03c54
changeset:      0:0c2bb611605a

>hg log -f fileB.txt -T "changeset:\t{rev}:{node|short}\n"
changeset:      1:fd3ee8f03c54
changeset:      0:0c2bb611605a

或者,在TortoiseHG中,他们也可以分享

Log