2011-11-10 32 views
1

我剛剛將維護分支的更改合併到我們的開發分支中。 (我們通過克隆mercurial存儲庫來進行分支,而不是通過命名分支來進行分支。)有一些衝突,所以我不得不手工編輯六行左右的行來解決合併衝突。沒什麼大不了。但是當我看着合併提交時,我發現整個補丁堆中的bazillion行對一個父母或另一個父母,而不是合併衝突。如何查看我更改以解決mercurial merge衝突的問題?

我該如何回顧衝突及其解決方案?

回答

0

hg -n annotate大概?

或者更好的annotate -n .. | grep 'hg tip --template "{rev}\n"'。你知道mergeset的更改集數量,你的編輯會有這個數字(automerged字符串會得到最新的變化數)

+0

哦,我明白你在說什麼,在合併處註釋文件,grep處理被改變的行......是的,這很有效,但是速度相對較慢。它至少需要被縮小到合併中涉及的一組文件,註釋庫中的所有內容都非常昂貴。 – keturn

+0

blame -r N(只使用一個修訂版的文件)? –

0

當我想這樣做時,我重做與ui.merge=internal:merge合併,所以我得到所有的衝突標記。然後我將它與合併變更集進行比較。有點笨拙,但它有效。

2

聽起來像是你想要MergeDiff擴展名。

+0

很可能。在我能說出來之前,必須修補它。 https://bitbucket.org/wolever/hg-mergediff/issue/3/184-incompatibilities – keturn

+0

在完成該故障單中建議的更改後,mergediff顯示一些意外結果。 – keturn