问题描述
我经常使用 Atlassian SourceTree(在 Mac OS X 上)来启动 FileMerge 来解决 git 合并冲突.突然间它停止了工作:当我右键单击并选择 Resolve Conflicts >启动外部合并工具
,FileMerge 启动,创建它的中间文件,然后立即退出.SourceTree 将其解释为合并过程已完成.
有什么问题,我该如何调试/修复它?
我注意到上一个问题 '
- 再次在终端中运行
opendiff
,应该不会再出现上面的错误了.
现在,当您单击启动外部合并工具时,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?
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.)
To diagnose the problem, I ran opendiff
from the Terminal. I received the following error:
To solve:
- 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.)
- Run
opendiff
in Terminal again, and the above error should no longer appear.
Now FileMerge will open correctly from SourceTree when you click Launch External Merge Tool.
这篇关于FileMerge 从 SourceTree 启动后立即退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!