2013-03-21 75 views
63

當合並使用hg merge衝突的變化,水銀插入一組標記到文件,在我的工作拷貝合併這樣的:解決衝突:如何自動接受「他們」的變化?

<<<<<<< local 
    version = 0.2 
======= 
    version = 0.1 
>>>>>>> other 

然後我手動從hg resolve --all -l產生列表編輯標記當U所有文件然後我告訴mercurial我已經解決了他們hg resolve -m file1 file2 file3 ...

在許多情況下,我正在考慮創建兩個簡單的sed/awk /無論腳本名爲accept-theirs.shaccept-my.sh或者是否有任何「正確」的方式來做到這一點?

回答

117

使用

hg resolve -t internal:other --all 

接受theirs

hg resolve -t internal:local --all 

接受yours

+0

非常感謝!我不明白@djc的含義,但你的解決方案就像一個魅力。 – psihodelia 2013-03-21 15:05:01

+0

@psihodelia djc說的差不多,試試'hg help merge-tools'(mergetools是後面版本中的別名) – 2013-03-21 21:14:23

+5

作爲一個方面說明,我使用了別名:[別名] mine = resolve -t internal:local 他們=解析-t內部:其他' – Melvyn 2013-05-05 16:33:59

16

試試這個:

hg merge --tool 'internal:other' 

hg help merge-tools更多信息見。

+1

或'resolve'爲單個文件/重做。 (另外,「internal:other」周圍的引用是不必要的。) – 2013-03-21 11:05:30