2011-03-25 49 views
10

把分差,我們使用:Mercurial - diff同時發生多個變更集?

  • hg diff -c <xyz>:顯示的diff對於給定的變更
  • hg diff -r <xyz>:顯示所有的diff因爲給定變更

但是,假設你有變更4-5-6 -7-8,其中變更集4,6,8與系統的特定區域相關,並且在一個區間中,您想查看僅從這三個變更集中所做的更改,您將如何執行此操作?如果文件A在變更集4和8中被修改,則差異將顯示變更集3和8之間的差異。

回答

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 

(注意告訴範圍遵循拓撲的雙冒號不只是數字範圍)

相關問題