我们使用差异:
hg diff -c <xyz>
:显示给定变更集的差异hg diff -r <xyz>
:显示自给定变更集以来的所有差异但是,假设您有4-5-6-7-8的变更集,其中变更集4,6,8与系统的某个特定区域相关,并且在一个差异中,您希望看到从这些变更集中获得的变更你会怎么做?如果在变更集4和8中修改了文件A,则差异将显示变更集3和8之间的差异。
答案 0 :(得分:9)
如果变更集4,5,6,7,8在历史记录中是线性的,我认为即使使用revsets,您也可以仅使用-r
来执行此操作。但是,如果5和7中的更改确实来自系统的其他部分,则可以通过添加-X
或-I
来获得所需的输出。像这样:
hg diff -r 3::8 -X part/you/do/not/want/**
或
hg diff -r 3::8 -I part/you/do/want/**
如果您在历史记录中尽可能早地让变更集更加准确,那么您将拥有这样的拓扑:
[3]---[4]---[6]---[8]---[9]
\ /
------[5]---[7]------
然后你会得到你想要的东西:
hg diff -r 3::8
(注意双冒号告诉范围遵循拓扑而不仅仅是数值范围)