我搜查了很多,發現有些人聲稱他們這樣做了,但我無法讓它工作。WinMerge與Bazaar的使用
如何在Windows上使用WinMerge,我最喜愛的diff工具,Bazaar?
我知道difftools插件(與Bazaar一起發售)可以處理這個,但是controller.py文件沒有列出它,並且我無法看到指定路徑的位置。看起來像它在PATH變量中搜索,並報告bzr:錯誤:找不到'winmerge'在(長路徑列表)。 我試圖把.cmd文件,然後在Bazaar的目錄中WinMergeU.exe的快捷方式,相應地重命名(winmerge.cmd,winmerge.lnk)register_diff_tool
參數。沒有更多的錯誤,但沒有推出...
那麼,有人使用WinMerge(或者其他一些Windows工具)與Bazaar有任何成功嗎?
我很想與extmerge插件也使用它...
編輯前兩個答案後,我嘗試了一些變種,我在這裏列出以供參考。無工作:
# As suggested:
# Bad: bzr: ERROR: [Errno 22] Invalid argument: 'c:\\docume~1\\philho\\locals~1\\temp\\bzr_C:/Program Files/_Text/WinMerge/WinMergeU.exeh7angm.log'
wdiff = diff --using "C:/Program Files/_Text/WinMerge/WinMergeU.exe"
# Bad: bzr: ERROR: Cannot find 'C:Progra~1_TextWinMergeWinMergeU.exe' in <PATH>
wdiff = diff --using C:\Progra~1\_Text\WinMerge\WinMergeU.exe
# Variants:
# Bad: bzr: ERROR: [Errno 22] Invalid argument: 'c:\\docume~1\\philho\\locals~1\\temp\\bzr_C:/Progra~1/_Text/WinMerge/WinMergeU.exejuttft.log'
wdiff = diff --using C:/Progra~1/_Text/WinMerge/WinMergeU.exe
# Bad: bzr: ERROR: [Errno 22] Invalid argument: 'c:\\docume~1\\philho\\locals~1\\temp\\bzr_C:\\Program Files\\_Text\\WinMerge\\WinMergeU.exehpabjl.log'
wdiff = diff --using "C:\\Program Files\\_Text\\WinMerge\\WinMergeU.exe"
# Bad: bzr: ERROR: [Errno 22] Invalid argument: 'c:\\docume~1\\philho\\locals~1\\temp\\bzr_C:\\Progra~1\\_Text\\WinMerge\\WinMergeU.exe4gi5or.log'
wdiff = diff --using C:\\Progra~1\\_Text\\WinMerge\\WinMergeU.exe
使用:
Bazaar (bzr) 1.11
Python interpreter: C:\Program Files\_Dev\Bazaar\python25.dll 2.5.2
其實,可怕的(和尷尬)的事實是,似乎我的較早嘗試的一個工作,但我什麼也沒看到...因爲我是測試一個承諾的文件!我想我是在期待那個默認情況下它比較了最後兩個版本或者其他東西。
無論如何,正如我在評論中寫的,我不想把WinMerge目錄放在我已經太長的路徑中,所以我走在中間道路上,製作一個命令文件並將其放入已經存在的Bazaar目錄中路徑。 至少它可以工作,並且我可以根據需要輕鬆添加參數。
[ALIASES]
wdiff = diff --using winmerge.cmd
# winmerge.cmd contains:
"C:\Program Files\_Text\WinMerge\WinMergeU.exe" %1 %2
也許我應該把它作爲線程中的解決方案,雖然它缺乏優雅。
爲了記錄在案,同時我們對外部工具的話題,我也加入到bazaar.conf中:
editor = C:/Program Files/_Text/SciTE/SciTE.exe
使用它提交(不-m選項),例如。
下一步:extmerge。仔細一看,似乎並沒有WinMerge可用,沒有3路合併。我可能會使用Perforce的合併,它是免費的,我已經習慣了。
對於那些和我一樣困惑的人來說,extmerge並不是合併的GUI替代品。如果您運行它,即使合併報告它也不會報告衝突。其實,你必須運行合併,然後再extmerge。如果你想使用的WinMerge,也許是爲了比較其他與本使用生成/更改的文件和做的工作...
,你可以使用:
external_merge = "C:/Program Files/_Text/WinMerge/WinMergeU.exe %o %t %r"
我希望我在這裏的嘗試/評論對其他人有用......:-)
[UPDATE]
Oookaaay!
所以我很困惑! Bazaar郵件列表中的一則消息啓迪了我可憐的靈魂: 「你知道bzr也提供diff --using,對嗎?你喜歡difftools的版本?」 - Aaron Bentley,2009-04-03在Re :difftools,'bzr diff --using footool'和'diffuse'
唉!不,我不知道。
我刪除difftools插件,編輯我行:
wdiff = diff --using "C:/Program Files/_Text/WinMerge/WinMergeU.exe"
和它的工作完全正常,開箱即用!我不確定爲什麼這個difftools插件沒有被標記爲過時。
我留下這個問題作爲參考,以防像我這樣的其他新手也感到困惑。我至少可以選擇一個答案。謝謝!
要使用WinMerge解決衝突,您需要將其調用爲: winmergeu文件 其中file - 您的文件與衝突。 WinMerge解析衝突並在2個面板中顯示您的文件,您可以在其中選擇最終變體。 – bialix 2009-02-28 13:32:16
關於此錯誤: #錯誤:bzr:錯誤:[Errno 22]無效參數:'c:\\ docume〜1 \\ philho \\ locals〜1 \\ temp \\ bzr_C:/ Program Files/_Text/WinMerge /WinMergeU.exeh7angm.log' 請在這裏提交bug https://launchpad.net/bzr/+filebug – bialix 2009-02-28 13:33:23
@bialix:好的,我做到了。 https://bugs.launchpad.net/bzr/+bug/336228 – PhiLho 2009-03-01 14:42:46