我找了很多次,发现有些人声称他们这么做了,但我没办法去工作。
如何使用WinMerge,我在Windows上最喜欢的diff工具,与Bazaar?
我知道散乱工具插件(随Bazaar附带的)处理这个问题,但是controller.py文件没有列出它,我也没有看到指定路径的位置。看起来它在PATH变量中搜索,并报告bzr: ERROR:无法在(长路径列表)中找到'winmerge‘。我尝试将一个.cmd文件,然后是WinMergeU.exe的快捷方式放到Bazaar的目录中,并相应地重命名register_diff_tool参数(winmerge.cmd,winmerge.lnk)。没有错误,但没有发射.
那么,有人在Bazaar上使用WinMerge (或者其他一些Windows工具)有什么成功吗?
我也想把它和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例如,它由commit使用(没有-m选项)。
下一步: extmerge。从更近的角度看,WinMerge似乎无法在那里使用,没有3路合并。我可能会使用Perforce的合并,它是免费的,我已经习惯了。
对于那些像我这样困惑的人,我只想说一句: extmerge并不是用GUI代替merge的。如果您运行它,它将不会报告任何冲突,即使合并报告它们。实际上,您必须先运行merge,然后extmerge才能使用生成的/修改过的文件并完成工作.
如果您无论如何都想使用WinMerge,那么您可以使用以下方法来比较其他方面:
external_merge = "C:/Program Files/_Text/WinMerge/WinMergeU.exe %o %t %r"我希望我在这里的发言对其他一些人会有帮助.:-)
更新
乌卡伊!
所以我很困惑!Bazaar邮件列表中的一条信息启发了我可怜的灵魂:“你知道bzr也提供了差异--使用,对吗?你更喜欢在difftools中的版本?”-- Aaron Bentley,2009-04-03,在Re: difftools中,‘bzr diff -使用footool’,和‘弥散’。
啊啊!不,我不知道。
我删除了difftools插件,编辑了我的行:
wdiff = diff --using "C:/Program Files/_Text/WinMerge/WinMergeU.exe"而且它运行得很好,从盒子里出来!我不知道为什么这个衍射工具插件没有被标记为过时。
我把这个问题作为参考,以防其他像我这样的新手也感到困惑。我至少可以选出一个答案。谢谢!
发布于 2009-02-27 20:28:00
bzr diff --using "C:/Program Files/WinMerge/WinMergeU.exe"您可以将其添加到bazaar.conf中的别名中。
或者,如果在PATH环境变量中有C:\Program \WinMerge,则可以将其用作:
bzr diff --using WinMergeU.exe发布于 2009-02-28 00:15:19
你读过和difftools插件一起的README文件了吗?它解释了--using选项。
此外,通过安装在我的windows机器上的集市(已经有一段时间没有更新),您可以在C:\ Data\bazaar\2.0\bazaar.conf和Data\bazaar\2.0\bazaar.conf中找到您的配置文件。
在[ALIASES]部分下添加以下内容(如果不存在该部分,则添加该部分):
[ALIASES]
gdiff = diff --using C:\Progra~1\WinMerge\WinMergeU.exe更改路径以适应您的安装。然后你就可以走了
bazaar gdiff而不是
bazaar diff发布于 2009-03-10 00:11:40
这似乎适用于我:
bzr diff --using "C:\\program files\\winmerge\\winmergeu.exe"顺便说一句,如果您不能让它正常工作,我建议您使用q* UI工具,比如:
bzr qdiff
bzr qlog
bzr qcommit..etc
https://stackoverflow.com/questions/595885
复制相似问题