我在我的Mercurial存储库中有两个非常大的项目。
我正在将它们两个重构为较小的子项目。
这涉及到将源项目集从父项目目录移动到子项目的子目录中。
对于大多数文件,我只是将它们移动。
对于某些文件,我也必须进行更改。
在我提交我的重构更改之前,我想查看我对任何源文件所做的任何编辑。在GUI工具SourceTree中 - 它显示我的任何修改(除了指示文件已被移动/重命名)。有什么方法可以确定哪些文件也是从Mercurial命令行修改的?Mercurial移动跟着差异
这里是一个具体的例子是什么我谈论:
iphonedev:EveryScape cdoucette $汞柱状态-C工程/的iOS/ESSDK/src目录/ ESSDK - 杂项/ ESDataManagerInMemory.m
一个工程/ iOS版/ESSDK/src/ESSDK-Miscellaneous/ESDataManagerInMemory.m 工程/的iOS/ESSDK/src目录/ ESDataManagerInMemory.m
我如何比较旧的版本与当前的工作副本在不同的位置?
如果我只是这样做:
hg diff Engineering/iOS/ESSDK/src/ESSDK-Miscellaneous/ESDataManagerInMemory.m
它让我看到文件的全部内容(因为在技术上它是在新位置添加)。
相反,我想之间差异:
- 工程/的iOS/ESSDK/src目录/ ESDataManagerInMemory.m(仓库的副本 - 以前的版本)
- 工程/的iOS/ESSDK/src目录/ ESSDK,杂项/ESDataManagerInMemory.m(工作副本)
我也搜索过类似的问题。这篇文章很接近 - 但似乎只有在我继续并承诺修改之后才有意义。相反,我想在提交之前查找并检查我的更改。
Mercurial diff not working after move/rename