2010-07-07 43 views
2

我們曾經使用Visual Source Safe,並且有一個整潔的功能,我無法在TortoiseHG中找到。你右鍵點擊一個文件並點擊「顯示歷史記錄」。 VSS打開該文件的版本列表。然後你選擇兩個版本(即:版本50和版本47),然後單擊比較按鈕啓動兩個版本的視覺差異。如何使用Mercurial TortoiseHG獲得文件的兩個非連續版本的視覺差異?

我該如何使用Mercurial/TortoiseHG做到這一點?我看到了註釋功能,但只比較文件的連續版本。

回答

2

您可以在TortoiseHG的資源庫資源管理器中執行此操作:
標記一個版本,右鍵單擊另一個版本並彈出上下文菜單。
在該上下文菜單中,選擇「Visual Diff with Selected」。

編輯:
@Sly:
使用過濾箱相反的,你可以在Windows資源管理器的Class1.cs單擊鼠標右鍵,並從那裏打開資源庫資源。當你這樣做時,過濾器已經處於活動狀態,並且只能看到class1.cs所涉及的變更集。
這使得步驟1更容易(至少在我看來,我總是這樣做),並且它完全消除了第4步和第5步(因爲只有一個文件可以進行比較,所以根本不會出現該列表)。

+0

這並不壞,但過程相當長。假設我想查看class1.cs和比較版本的最新變化。我必須:1)使用過濾器框查找涉及class1.cs的變更集2)單擊變更集3)找到另一個變更集並右鍵單擊「Visual Diff with Selected」4)在Visual Diffs窗口中找到class1.cs有150個文件在那裏列出,他們沒有排序)。 5)雙擊class1.cs打開視覺差異。第4步真的很痛苦。有沒有更快的方法來做到這一點? – Sylvain 2010-07-07 19:30:45

+0

我編輯了我的答案,參見上文! – 2010-07-07 19:46:13

+0

是的,這正是我需要的。請注意@Paul Nathan的回答也很好。如果有人發佈更簡單的答案,我會等到明天再接受你的回答。 – Sylvain 2010-07-07 19:58:11

1

我發現它更快地執行以下操作,而不是爲了您所描述的目的而修改TortoiseHG。

將Winmerge安裝在默認位置;

然後,修改你的全局hgrc來擁有這個。 (Mercurial.ini在Windows中)

[extdiff] 
cmd.guidiff = C:\Program Files\WinMerge\WinMergeU.exe 

,然後,

hg guidiff -r rev1 -r rev2 

在命令行。

請注意,您可以使用kdiff3或其他作爲GUI差異客戶端。

+0

這很好。假設我想查看class1.cs和比較版本的最新變化。我會:1)'hg log -I ** class1.cs -l 10'來查看class1的最近更改。 2)找到我想要比較的轉速。 3)'hg guidiff -r 535 -r 500 -I ** class1.cs'打開該特定文件的差異。 – Sylvain 2010-07-07 19:46:13

+0

@Sly:是的。儘管我不相信你不需要那些**。 – 2010-07-07 21:40:54

相關問題