Mercurial 反复无常的移动,然后是差异

Mercurial 反复无常的移动,然后是差异,mercurial,Mercurial,我的Mercurial存储库中有两个非常大的项目。 我正在将它们重构为更小的子项目。 这涉及将源集从父项目目录移动到子项目的子目录。 对于大多数文件,我只是简单地移动了它们。 对于某些文件,我还必须进行更改。 在提交重构更改之前,我希望查看对任何源文件所做的任何编辑。在GUI工具SourceTree中,它向我显示任何修改(除了指示文件已被移动/重命名)。是否有任何方法可以确定从Mercurial命令行修改了哪些文件 下面是我所说的一个具体例子: iphonedev:EveryScape cdou

我的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 Engineering/iOS/ESSDK/src/ESDataManagerInMemory.m

如何在不同位置将旧版本与当前工作副本进行比较

如果我只是这样做:

hg diff Engineering/iOS/ESSDK/src/ESSDK-Miscellaneous/ESDataManagerInMemory.m
它向我显示了文件的全部内容(从技术上讲,它是在新位置添加的)

相反,我想区分以下两种情况:

  • Engineering/iOS/ESSDK/src/ESDataManagerInMemory.m(存储库副本-早期版本)
  • Engineering/iOS/ESSDK/src/ESSDK Miscellaneous/ESDataManagerInMemory.m(工作副本)
  • 我确实在寻找类似的问题。这篇文章很接近——但似乎只有在我继续并做出改变的情况下才有意义。相反,我希望在提交之前查找并查看我的更改。

    我会这样编写脚本:

    hg cat -r <oldrev> <oldfilename> > oldfile.oldrev
    
    diff <newfilename> oldfile.oldrev
    
    hg cat-r>oldfile.oldrev
    diff oldfile.oldrev
    
    我会这样编写脚本:

    hg cat -r <oldrev> <oldfilename> > oldfile.oldrev
    
    diff <newfilename> oldfile.oldrev
    
    hg cat-r>oldfile.oldrev
    diff oldfile.oldrev