当前位置:  开发笔记 > 编程语言 > 正文

将WinMerge与Bazaar一起使用

如何解决《将WinMerge与Bazaar一起使用》经验,为你挑选了1个好方法。

我搜索了很多,发现有些人声称他们这样做了,但我无法让它发挥作用.

如何使用WinMerge,我最喜欢的Windows上的差异工具,与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 
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我已经太久路径,所以我把在路中间,使得命令文件,并把它在大巴扎的目录这已经是在路径.至少它可以工作,如果需要我可以轻松添加参数.

[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,然后extmerge使用生成/更改的文件并完成工作...
如果你想使用WinMerge,也许要比较OTHER和THIS,你可以使用:

external_merge = "C:/Program Files/_Text/WinMerge/WinMergeU.exe %o %t %r"

我希望我的尝试/评论对其他人有用...... :-)

[更新]
Oookaaay!
所以我很困惑!Bazaar邮件列表中的一条消息启发了我可怜的灵魂:" 你知道bzr也提供了差异,对吗?你更喜欢difftools中的版本? " - Aaron Bentley,2009-04-03 in Re:difftools,' bzr diff - 使用footool'和'diffuse'

AARGH!不,我不知道.
我删除了difftools插件,编辑了我的行:

wdiff = diff --using "C:/Program Files/_Text/WinMerge/WinMergeU.exe"

开箱即用它完美无缺!我不确定为什么这个difftools插件没有标记为过时.

我把这个问题作为参考,以防其他像我这样的新手也感到困惑.我至少可以选出一个答案.谢谢!



1> bialix..:
bzr diff --using "C:/Program Files/WinMerge/WinMergeU.exe"

您可以将其添加到bazaar.conf中的别名中

或者,如果在PATH环境变量中有C:\ Program Files\WinMerge,则可以将其用作:

bzr diff --using WinMergeU.exe

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有