我正在與Mercurial玩耍,看看它是否適合我們公司使用。其中最大的賣點之一就是合併能力。所以我一直在創建分支並將它們合併回默認行。測試包括簡單地將一個新方法(methodA)添加到一個分支中的單個Java文件,並在另一個分支中的同一文件的完全不同的位置添加一個不同的方法(methodB)。與MercurialEclipse合併時,在命令行合併時會自動解決衝突
當我第一次在Eclipse中使用team-> merge選項嘗試它時,發現第一個合併工作正常(即它添加了方法A)。當我嘗試合併第二個分支時,它告訴我必須解決衝突。這是非常不幸的,因爲我認爲這種簡單的合併恰恰是Mercurial應該輕鬆處理的那種東西?
我試着使用命令行完全相同的測試,這次它工作正常,即兩個合併都成功了,無需解決衝突。在Eclipse中尋找它在控制檯輸出使用下面的命令來執行合併:當我在命令行中運行它自己
hg -y merge --config ui.merge=internal:fail -r 611ca2784593525cdafd3082b17d3310037a5d58 -f
,而我只是做:
hg merge -r 1234
是使用合併策略'內部:失敗'導致這在Eclipse中發生?如果是這樣的話,是否可以改變默認行爲,使其與命令行中的行爲一樣?
是。以下是HG網站上的提示和技巧鏈接。 http://mercurial.selenic.com/wiki/TipsAndTricks#line-227(在撰寫本文時,這是小貼士)。我看到的唯一選擇是使用外部合併工具。不知道它做什麼,因爲我使用TortoiseHG進行大部分HG交互。 TortoiseHG的下一個版本非常好,因爲它現在是一個工作臺,所以可以從一個用戶界面做所有事情。 – Mikezx6r