Не удается найти FileMerge (инструмент opendiff), но у меня установлен xcode 4.6

Когда я пытаюсь запустить FileMerge в качестве графического интерфейса для Opendiff, я получаю сообщение об ошибке:

$ git mergetool -t opendiff
Merging:
Gemfile
Gemfile.lock
...

Normal merge conflict for 'Gemfile':
  {local}: modified file
  {remote}: modified file
Hit return to start merge resolution tool (opendiff): 
2013-12-26 20:00:20.248 opendiff[22367:e07] Couldn't find FileMerge
Gemfile seems unchanged.
Was the merge successful? [y/n] ^C
$

Я установил XCode 4.6.3 и инструменты командной строки для Xcode, апрель 2013 года. Я использую OSX 10.7.5

Я пробовал решения из следующих двух ссылок безуспешно:

git diff с opendiff выдает ошибку "Не удалось запустить FileMerge"

Доступен ли filemerge после установки Xcode 4.3?

Когда я иду в Xcode -> Open Developer Tool я не вижу FileMerge в списке вариантов. E сть More Developer Tools ссылка, которая ведет меня сюда: https://developer.apple.com/downloads/index.action?name=for%20Xcode%20-

Как мне заставить работать FileMerge?

3 ответа

Решение

Странный. " XCode 4.5, где FileMerge? " Предлагает:

FileMerge, который связан с Xcode 4.5, не работает как отдельное приложение. Я пытался сжать его из пакета приложений. Я смог расширить его, чтобы показать приложение FileMerge на рабочем столе. Но когда я попытался запустить его, я получил сообщение о том, что его нельзя открыть.

На сайте загрузки разработчика Apple есть все версии Xcode. Вы можете попытаться уничтожить вашу текущую версию Xcode 4.5, загрузив Xcode 4.5 с сайта загрузок разработчика, и посмотреть, есть ли FileMerge. Если нет, вы можете скачать Xcode 4.4 и посмотреть, есть ли в нем FileMerge.

Действительно, я скачал новую новую версию XCode 4.5 и поместил обновленную версию с 4.4 до 4.5 в корзину, и теперь у меня снова есть все инструменты разработчика, включая FileMerge. Weird...


Другой вариант, из той же темы:

Почему бы просто не установить инструменты командной строки? Это даст вам инструмент "opendiff". Затем вы создаете небольшой скрипт, подобный этому, чтобы сделать его полезным и фактически выполнить слияние.

#!/bin/sh

# Get a hold of the last parameter.
eval LAST=\${$#}

# Now run opendiff with the previous version and the current version.
opendiff ${*} -merge "$LAST"

FileMerge находится в Xcode.

Из командной строки:

cd /Applications/Xcode.app/Contents/Applications/
open .

Зайдите в этот каталог, как только он откроется:

  1. Щелкните правой кнопкой мыши на приложении
  2. Выберите "Сделать псевдоним"
  3. Переместите этот псевдоним в каталог приложений

Вы все готово.

Если у вас установлен xcode, то вы можете запустить следующую команду из командной строки, чтобы открыть FileMerge напрямую

open /Applications/Xcode.app/Contents/Applications/FileMerge.app/

Попробуйте переустановить Xcode. У меня была та же самая проблема, и это исправило это для меня! Похоже, утилита Merge как-то испортилась.

Другие вопросы по тегам