我意外地重命名了Mercurial之外的文件。当我提交更改时,Mercurial将更改视为两个不相关的文件(即删除和添加)。我需要回过头来对两个版本进行区分,但是当Mercurial将它们视为不同修订版中的两个相应文件时,我不知道该怎么做。我该怎么做来区分文件?
答案 0 :(得分:2)
修复历史记录:
--close-branch
关于错误替换变更集或删除此不需要的变更集或保持非活动头部完整答案 1 :(得分:2)
您没有说明您使用的操作系统。以下内容适用于Linux上的bash:
diff <(hg cat -r rev1 file1) <(hg cat -r rev2 file2)
如果你想要一个视觉差异,你可以用另一个程序替换差异,如vimdiff
。
答案 2 :(得分:2)
如果您想要实际修复历史记录以便Mercurial知道重命名(并且可以在将来合并时使用该信息),那么Mercurial上的way to do so上会记录Tips and Tricks page维基。
此处复制的当前内容是为了便于使用(如果以后链接被破坏):
步骤:
建议:
话虽如此,如果您想要做的只是比较时间点的内容,您绝对可以在不让Mercurial意识到重命名的情况下实现这一点(如Stephen Rasku的回答中所述)。实际上,您可以结合使用“hg cat”和外部比较工具来比较任何文件,而不仅仅是Mercurial所知道的文件。