在不丢失历史的情况下进行重构 - TortoiseHG
Refactoring without losing history - TortoiseHG
我做了一些重构,导致我的原始文件的一些内容被拆分成几个其他文件。但是我不想丢失已移动到其他文件的代码的历史记录,但我似乎无法在 Tortoisehg 中找到实现此目的的方法。保留代码历史记录的最佳策略是什么?这甚至可能还是我需要使用原始文件来查看代码的历史记录?
你必须使用控制台,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
即:file.txt
在初始变更集中提交,后来分离为 fileA.txt
和 fileB.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 中,它们也可以被区分
我做了一些重构,导致我的原始文件的一些内容被拆分成几个其他文件。但是我不想丢失已移动到其他文件的代码的历史记录,但我似乎无法在 Tortoisehg 中找到实现此目的的方法。保留代码历史记录的最佳策略是什么?这甚至可能还是我需要使用原始文件来查看代码的历史记录?
你必须使用控制台,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
即:file.txt
在初始变更集中提交,后来分离为 fileA.txt
和 fileB.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 中,它们也可以被区分