我是mercurial的新手,我對TortoiseHG非常熟悉,但這是我第一次在無頭Linux環境下管理一個項目。我做一個hg update
一推之後,我得到這個畫面:Mercurial Diff Merge:這是什麼工具,我該如何使用它?
幫助部分說,這是VIM,我怎麼去有關合並我的應用程序。
我是mercurial的新手,我對TortoiseHG非常熟悉,但這是我第一次在無頭Linux環境下管理一個項目。我做一個hg update
一推之後,我得到這個畫面:Mercurial Diff Merge:這是什麼工具,我該如何使用它?
幫助部分說,這是VIM,我怎麼去有關合並我的應用程序。
好像你在使用Vim的diff模塊時需要一些幫助。看到這些模式之一:
如果你使用的Vim是不舒服,有肯定,讓你指定自己喜歡的比較工具的選擇,但我不知道HG,所以我不能告訴你你需要修改哪個選項。
打開的Vim有三個文件被區分,所以我猜你在執行hg update
時遇到了一些衝突。
這是vimdiff。您可以通過運行man vimdiff
來了解更多信息。
但是,我會建議使用mercurial的內部:合併工具。它將執行合併,如果發生衝突,則在文件中插入衝突標記並通知您存在衝突。然後打開文件,解決衝突,刪除衝突標記,將文件標記爲已解決,以及在清理完所有文件後,可以提交合並結果。這與Subversion如何處理衝突非常相似。您可以配置善變使用內部:通過將合併下列到你的〜/ .hgrc文件:
[ui]
merge=internal:merge
你會用得到的有衝突的文件列表並將其標記解決被稱爲hg resolve
的工具,所以我會建議運行hg help resolve
以瞭解有關該工具的更多信息。通過運行:hg help merge-tools
,您可以瞭解有關mercurial對合並工具的支持的更多信息。
從我的經驗來看,大多數人最容易使用的工具是kdiff3(直觀菜單,基本自然視圖,上面提到的兩個提示和下面的結果文本,良好的鍵盤快捷鍵 - Ctrl-1/Ctrl -2/Ctrl-3從第一個/第二個/第三個窗口中選擇代碼段,Ctrl-箭頭從衝突跳轉到衝突)。只需安裝此程序並在合併工具配置中給予最高優先級(集合
[merge-tools]
kdiff3.priority=1000
)。
通常:無論您使用哪種工具,它都會顯示您的文件版本衝突,並希望您創建最終版本。
我做了一個截屏視頻演示[如何在Vim中執行3路合併衝突](http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/)。該示例使用git而不是mercurial,但應用了相同的原則。 – nelstrom 2011-05-24 07:56:31
儘管我很欣賞你試圖提供幫助,但這些鏈接都不涉及三個文件的差異,而且它們提供幾乎完全重複的信息。我認爲他們根本不幫助回答所提問題。 – 2013-08-30 17:00:33