有誰知道如何設置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. 使用p4merge作爲git diff工具
- 2. 如何爲Visual Studio 2015設置p4merge作爲diff工具| git
- 3. 使用intellij作爲默認的合併工具爲TortoiseHG/Mercurial
- 4. 如何從Xcode使用p4merge?
- 5. 如何使用Visual Studio(vsdiffmerge)作爲Mercurial的SourceTree中的外部差異工具?
- 6. Netbeans作爲Mercurial合併工具
- 7. 如何使用Mercurial(hg)具有多個工作區?
- 8. Mercurial使用外部差異工具
- 9. 在烏龜mercurial工具中使用.diff
- 10. Mercurial Diff Merge:這是什麼工具,我該如何使用它?
- 11. 如何使用GUI diff工具查看Mercurial變更集更改
- 12. 使用Mercurial時,在Eclipse中作爲默認比較工具的比較之外?
- 13. 使用P4Merge合併XML
- 14. 如何使用Mercurial作爲兩個不同的用戶?
- 15. 如何使用Mercurial?
- 16. Mercurial和合並工具?
- 17. 如何使用了opendiff作爲默認的合併工具
- 18. Mercurial推不工作
- 19. 如何使用Mercurial同步同一工具的封閉和開源版本?
- 20. Mercurial - 爲什麼不區分工作?
- 21. 將Git工作流轉換爲Mercurial
- 22. 使用Eclipse Dali作爲獨立工具
- 23. 使用JRuby作爲java編程工具
- 24. 使用Pentaho作爲XML ETL工具
- 25. 使用vim作爲命令行工具?
- 26. 使用Automator作爲Applescript學習工具?
- 27. 使用WinMerge作爲TortoiseHG合併工具
- 28. 使用jQuery作爲開發工具
- 29. 使用TFS作爲Q/A工具
- 30. 使用git作爲部署工具
您應該使用可執行文件「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