有谁知道如何设置Mercurial使用p4merge作为OS X 10.5上的合并/比较工具?如何使用p4merge作为Mercurial的merge/diff工具?
36
A
回答
-1
我猜是有一个CLI工具p4merge(我一无所知)。
我写了一篇博客文章使用Changes.app,和一些其他的GUI工具与水银:Using Mercurial with GUI Tools.
基本上,你需要知道的是加载了比较工具的CLI工具的调用期望。 IE,如何使它从一个特定的文件加载数据,以及如何让它等待退出。在帖子上应该有足够的信息给你一些想法。
0
我使用Python的以下位推出p4merge和使用git使用它:
#!/usr/bin/python
import sys
import os
os.system('/Applications/p4merge.app/Contents/MacOS/p4merge "%s" "%s"' % (sys.argv[2], sys.argv[5]))
我不知道长相如何善变到虽然启动外部比较工具?希望这很简单,就像在上面的行中调整2 & 5一样,作为“签入”和“当前工作副本”参数的索引。
39
将这个到您的~/.hgrc
(或可选,您Mercurial.ini
在Windows上):
[merge-tools]
p4.priority = 100
p4.premerge = True # change this to False if you're don't trust hg's internal merge
p4.executable = /Applications/p4merge.app/Contents/MacOS/p4merge
p4.gui = True
p4.args = $base $local $other $output
需要的Mercurial 1.0或更高版本。很明显,您需要更新该可执行文件的路径以反映安装p4merge的位置。
15
我发现Ry4an's answer是一个很好的解决方案,除了一个小问题,它使p4merge(在mac os下)混合了命令输入。 不要在his answer涉及的所有内容,并添加在[合并工具]以下行部分:
p4.args=$base $local $other $output
这行告诉善变的次序p4merge接受它的参数。
3
也许是因为我在Windows上工作,但建议的解决方案并不适合我。相反,下面的工作。
在你~/.hgrc/
/Mercurial.ini
,我申请了以下变化:
启用 “ExtDiff” 扩展名:
[extensions]
hgext.extdiff =
新增P4 extdiff命令:
[extdiff]
cmd.p4diff = p4merge
配置为默认视觉比较工具:
[tortoisehg]
vdiff = p4diff
13
我使用的是TortoiseHg 1.0.1版本,p4merge开箱即用。
刚去全局设置 - > TortoiseHg并选择以下选项:
- 三方合并工具:p4merge
- 可视化差异工具:p4merge
相关问题
- 1. 如何为Visual Studio 2015设置p4merge作为diff工具| git
- 2. 如何从Xcode使用p4merge?
- 3. 使用intellij作为默认的合并工具为TortoiseHG/Mercurial
- 4. 如何使用Visual Studio(vsdiffmerge)作为Mercurial的SourceTree中的外部差异工具?
- 5. Netbeans作为Mercurial合并工具
- 6. Mercurial使用外部差异工具
- 7. Mercurial Diff Merge:这是什么工具,我该如何使用它?
- 8. 如何使用GUI diff工具查看Mercurial变更集更改
- 9. 使用Mercurial时,在Eclipse中作为默认比较工具的比较之外?
- 10. 如何使用Mercurial作为两个不同的用户?
- 11. Mercurial和合并工具?
- 12. 如何使用Mercurial?
- 13. 如何使用Mercurial同步同一工具的封闭和开源版本?
- 14. 使用vim作为命令行工具?
- 15. 使用JRuby作为java编程工具
- 16. 使用Automator作为Applescript学习工具?
- 17. 将Git工作流转换为Mercurial
- 18. Mercurial - 为什么不区分工作?
- 19. 如何使用工具栏按钮作为下载链接
- 20. 如何使用工具栏(humburger图标)作为后台导航
- 21. 如何在Conan.io中使用Bazel作为构建工具
- 22. 如何使用kismet作为命令行工具
- 23. 如何将工作分成多个具有mercurial队列的修补程序?
- 24. 如何设置本地工作目录以使用Mercurial使用本地回购
- 25. 工具检查mercurial的内部文件
- 26. 如何使用NetBeans工具
- 27. 如何使用sqoop工具
- 28. 如何使用build_native.sh工具?
- 29. 如何使用截屏工具使用回弹工具
- 30. 我应该在Windows中使用哪种合并工具与Mercurial?
您应该使用可执行文件“launchp4merge”而不是“p4merge”。这样,如果您同时对多个文件对进行比较,它们都会出现在一个p4merge进程中,而不是单独的进程中。 – 2009-02-14 06:05:38
如果您希望使用Adam的建议(适用于我),请使用此行代替上面的p4.executable行: p4.executable = /Applications/p4merge.app/Contents/Resources/launchp4merge – warrenm 2010-03-17 23:00:24
这不适用于`hg diff`。任何关于如何使p4merge成为默认diff编辑器的建议? – Tobber 2015-02-18 14:59:30