簡體   English   中英

區別兩個版本的汞

[英]Diffing two versions in Hg

我正在嘗試查看項目的兩個版本之間的差異。 我最初的想法是:

  1. 建立新的儲存庫
  2. 將第一個版本提交到存儲庫
  3. 用第二個版本覆蓋第一個版本,提交到存儲庫
  4. hg diff兩個版本

這是行不通的,因為當第二個版本覆蓋了第一個版本時,Mercurial假定每個單個文件都已更改。 實際上,只有幾個文件被更改,我想查看每個文件中具體更改的內容。

WinDiff為我提供了已更改文件的列表,僅此而已,所以我真的很想使用Hg來獲取詳細信息。

編輯:我正在使用Eclipse。 我具體要做的是創建一個新的Java項目,使用Eclipse的導入功能導入所需的源文件,然后將該項目提交到我的存儲庫中。 然后,我再次使用import將版本2導入到同一項目中,以便覆蓋第一個文件。 我剩下的文件都是相同的,但它們是版本2文件。 然后,我將新文件提交到存儲庫。

我的Mercurial版本是1.8.3。 完成上述步驟僅給我一個變更集。

另外,在創建差異文件時,是否可以指定僅差異Java文件,而不是文本或屬性等?

您的過程是正確的,只記得像在評論中指出的Lasse一樣使用hg addremove 因此,完整的過程是:

  1. 建立新的儲存庫
  2. 將第一個版本導入存儲庫
  3. 運行hg addhg commit
  4. 刪除.hg以外的所有文件
  5. 將第二個版本導入存儲庫
  6. 運行hg addremovehg commit
  7. hg diff兩個版本

hg addremove步驟甚至將檢測在兩個版本之間重命名的文件。 您還寫了:

另外,在創建差異時是否有一種方法可以只指定差異Java文件,而不指定文本或屬性等?

是的,您可以為此使用--include標志:

$ hg diff -I '**.java'

我不明白為什么您不能直接在項目的原始存儲庫上使用Mercurial。

要查看項目的REV1和REV2之間對Java文件所做的更改:

hg diff -r REV1 -r REV2 -I **.java

要在Eclipse中區分文件的兩個版本:

  1. 右鍵單擊該文件,然后轉到“團隊”>“顯示歷史記錄”
  2. 歷史記錄視圖應打開並顯示文件的所有提交版本
  3. 雙擊要與之進行比較的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM