问题描述
我经常使用Atlassian SourceTree(在Mac OS X上)启动FileMerge来解决git merge冲突.它突然失去作用:当我右键单击并选择Resolve Conflicts > Launch External Merge Tool
时,FileMerge启动,创建其中间文件,然后立即退出. SourceTree将其解释为合并过程完成.
I regularly use Atlassian SourceTree (on Mac OS X) to launch FileMerge to resolve git merge conflicts. Out of the blue it has stopped working: when I right click and select Resolve Conflicts > Launch External Merge Tool
, FileMerge launches, creates its intermediate files, then immediately exits. SourceTree interprets that as the merge process being complete.
问题出在哪里,我该如何调试/修复?
What's the issue and how can I debug/fix it?
我注意到上一个问题''并没有解决这个特殊情况(例如,它说FileMerge在标题中退出,但是在正文中说FileMerge将/dev/null显示为面板之一.此外,我的合并冲突不是由于文件被删除.)
I note that a previous question 'SourceTree filemerge quits immediately and creates 4 files. How to fix it?' does not address this particular scenario (for one, it says FileMerge quits in the title, but in the body it says FileMerge displays /dev/null as one of the panels. Additionally, my merge conflict is not due to a removed file.)
推荐答案
要诊断此问题,我从终端运行了opendiff
.我收到以下错误:
To diagnose the problem, I ran opendiff
from the Terminal. I received the following error:
解决:
- 打开 Xcode>首选项>位置
- 单击命令行工具旁边的下拉框,然后选择您当前的Xcode版本. (这对我来说是空的,因为我最近在新Mac上安装了Xcode.)
- Open Xcode > Preferences > Locations
- Click on the drop-down box beside Command Line Tools and select your current Xcode version. (This was empty for me because I had recently installed Xcode on a new Mac.)
- 再次在终端中运行
opendiff
,以上错误将不再出现.
- Run
opendiff
in Terminal again, and the above error should no longer appear.
当您单击启动外部合并工具时,现在FileMerge将从SourceTree中正确打开.
Now FileMerge will open correctly from SourceTree when you click Launch External Merge Tool.
这篇关于从SourceTree启动后,FileMerge立即退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!