[英]Diffing two versions in Hg
我正在嘗試查看項目的兩個版本之間的差異。 我最初的想法是:
hg diff
兩個版本 這是行不通的,因為當第二個版本覆蓋了第一個版本時,Mercurial假定每個單個文件都已更改。 實際上,只有幾個文件被更改,我想查看每個文件中具體更改的內容。
WinDiff為我提供了已更改文件的列表,僅此而已,所以我真的很想使用Hg來獲取詳細信息。
編輯:我正在使用Eclipse。 我具體要做的是創建一個新的Java項目,使用Eclipse的導入功能導入所需的源文件,然后將該項目提交到我的存儲庫中。 然后,我再次使用import將版本2導入到同一項目中,以便覆蓋第一個文件。 我剩下的文件都是相同的,但它們是版本2文件。 然后,我將新文件提交到存儲庫。
我的Mercurial版本是1.8.3。 完成上述步驟僅給我一個變更集。
另外,在創建差異文件時,是否可以指定僅差異Java文件,而不是文本或屬性等?
您的過程是正確的,只記得像在評論中指出的Lasse一樣使用hg addremove
。 因此,完整的過程是:
hg add
和hg commit
.hg
以外的所有文件 hg addremove
和hg commit
hg diff
兩個版本 hg addremove
步驟甚至將檢測在兩個版本之間重命名的文件。 您還寫了:
另外,在創建差異時是否有一種方法可以只指定差異Java文件,而不指定文本或屬性等?
是的,您可以為此使用--include
標志:
$ hg diff -I '**.java'
我不明白為什么您不能直接在項目的原始存儲庫上使用Mercurial。
要查看項目的REV1和REV2之間對Java文件所做的更改:
hg diff -r REV1 -r REV2 -I **.java
要在Eclipse中區分文件的兩個版本:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.