Если наборы изменений 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
(обратите внимание на двойное двоеточие, которое указывает диапазон для следования топологии, а не только числовой диапазон)