2011-05-23 131 views

回答

5

好像你在使用Vim的diff模塊時需要一些幫助。看到這些模式之一:

如果你使用的Vim是不舒服,有肯定,讓你指定自己喜歡的比較工具的選擇,但我不知道HG,所以我不能告訴你你需要修改哪個選項。

打開的Vim有三個文件被區分,所以我猜你在執行hg update時遇到了一些衝突。

+1

我做了一個截屏視頻演示[如何在Vim中執行3路合併衝突](http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/)。該示例使用git而不是mercurial,但應用了相同的原則。 – nelstrom 2011-05-24 07:56:31

+0

儘管我很欣賞你試圖提供幫助,但這些鏈接都不涉及三個文件的差異,而且它們提供幾乎完全重複的信息。我認爲他們根本不幫助回答所提問題。 – 2013-08-30 17:00:33

35

這是vimdiff。您可以通過運行man vimdiff來了解更多信息。

但是,我會建議使用mercurial的內部:合併工具。它將執行合併,如果發生衝突,則在文件中插入衝突標記並通知您存在衝突。然後打開文件,解決衝突,刪除衝突標記,將文件標記爲已解決,以及在清理完所有文件後,可以提交合並結果。這與Subversion如何處理衝突非常相似。您可以配置善變使用內部:通過將合併下列到你的〜/ .hgrc文件:

[ui] 
merge=internal:merge 

你會用得到的有衝突的文件列表並將其標記解決被稱爲hg resolve的工具,所以我會建議運行hg help resolve以瞭解有關該工具的更多信息。通過運行:hg help merge-tools,您可以瞭解有關mercurial對合並工具的支持的更多信息。

2

從我的經驗來看,大多數人最容易使用的工具是kdiff3(直觀菜單,基本自然視圖,上面提到的兩個提示和下面的結果文本,良好的鍵盤快捷鍵 - Ctrl-1/Ctrl -2/Ctrl-3從第一個/第二個/第三個窗口中選擇代碼段,Ctrl-箭頭從衝突跳轉到衝突)。只需安裝此程序並在合併工具配置中給予最高優先級(集合

[merge-tools] 
kdiff3.priority=1000 

)。

通常:無論您使用哪種工具,它都會顯示您的文件版本衝突,並希望您創建最終版本。

相關問題