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