我的Mercurial存储库中有两个非常大的项目 我正在将它们重构为更小的子项目 这涉及将来自父项目目录的源集移动到子项目的子目录中 对于大多数文件,我只是移动它们 对于某些文件,我还必须进行更改 在我提交重构更改之前,我想查看我对任何源文件所做的任何编辑。在GUI工具SourceTree中 - 它向我显示任何修改(除了指示文件已被移动/重命名)。有没有办法确定从Mercurial命令行还修改了哪些文件?
以下是我所说的具体例子:
iphonedev:EveryScape cdoucette $ hg status -C Engineering / iOS / ESSDK / src / ESSDK-Miscellaneous / ESDataManagerInMemory.m
A Engineering / iOS / ESSDK / src / ESSDK-Miscellaneous / ESDataManagerInMemory.m
工程/式IO / ESSDK / SRC / ESDataManagerInMemory.m
如何将旧版本与其他位置的当前工作副本进行比较?
如果我这样做:
hg diff Engineering/iOS/ESSDK/src/ESSDK-Miscellaneous/ESDataManagerInMemory.m
它显示了文件的全部内容(因为从技术上讲,它已添加到新位置)。
相反,我想区分:
我确实搜索过类似的问题。这篇文章很接近 - 但似乎只有在我继续并做出改变时才有意义。相反,我想在提交之前找到并审查我的更改 Mercurial diff not working after move/rename
答案 0 :(得分:1)
我会像这样编写脚本:
hg cat -r <oldrev> <oldfilename> > oldfile.oldrev
diff <newfilename> oldfile.oldrev