FileMerge завершает работу сразу после запуска из SourceTree

Не совсем ..

цитата из docs

Псевдокласс класса :nth-child соответствует элементу с + b -1 братья и сестры перед ним в дереве документов, для данного положительного или нулевого значения для n и имеет родительский элемент.

blockquote>

Он является селектором и не сочетается с классами , В вашем правиле он просто должен удовлетворять обоим селекторам одновременно, поэтому он отображает строки таблицы :nth-child(even), если они также имеют класс .row.

29
задан Community 23 May 2017 в 11:47
поделиться

5 ответов

Если Xcode недавно обновился, вам, возможно, придется согласиться с новыми условиями лицензии. Если вы не согласны с условиями лицензии, FileMerge (при запуске из SourceTree) немедленно прекратит работу.

Чтобы проверить это, откройте оболочку и запустите от имени обычного пользователя:

$ opendiff

Если проблема в лицензии, она сообщит вам. Чтобы согласиться с новыми условиями лицензии, вам нужно запустить open diff, используя sudo:

$ sudo opendiff

После принятия условий лицензии вы можете повторить попытку запуска FileMerge из SourceTree с помощью Resolve Conflicts > Launch External Merge Tool. FileMerge должен запускаться и вести себя нормально.

7
ответ дан Greg Kopff 23 May 2017 в 11:47
поделиться

Чтобы диагностировать проблему, я запустил opendiff из Терминала. Я получил следующую ошибку:

xcode-select: error: инструмент 'opendiff' требует Xcode, но активный каталог разработчика '/ Library / Developer / CommandLineTools' является экземпляром инструментов командной строки

Решить:

  1. Открыть Xcode> Предпочтения> Местоположения
  2. Щелкните раскрывающийся список рядом с Инструменты командной строки и выберите текущую версию Xcode. (Это было пусто для меня, потому что я недавно установил XCode на новый Mac.)

Command Line Tools

  1. Выполнить opendiff в терминале снова, и вышеупомянутая ошибка больше не должна появляться.

Теперь FileMerge будет правильно открываться из SourceTree при нажатии Запустить инструмент внешнего слияния .

92
ответ дан ChrisJF 23 May 2017 в 11:47
поделиться

Это помогло: https://gist.github.com/kylefox/4512777

Скажите системе, когда работают утилиты Xcode:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Установить "opendiff" в качестве стандартного mergetool по умолчанию:

git config --global merge.tool opendiff

5
ответ дан user3027622 23 May 2017 в 11:47
поделиться

Это также работает для разрешения сообщения «xcode-select: error: инструмент 'opendiff' требует Xcode, но активный каталог разработчика '/ Library / Developer / CommandLineTools' является экземпляром инструментов командной строки" :

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
4
ответ дан fabe 23 May 2017 в 11:47
поделиться

Для меня SourceTree даже не запускал FileMerge. При нажатии Launch External Merge Tool ничего не произошло.

Более того, запуск opendiff в Терминале работал должным образом:

$ opendiff
opendiff[64176:5561154] too few arguments
opendiff[64176:5561154] usage: opendiff file1 file2 [-ancestor ancestorFile] [-merge mergeFile]

Что мне помогло, так это ручная настройка SourceTree на использование FileMerge с помощью команды opendiff со следующими аргументами : $LOCAL $REMOTE -ancestor $BASE -merge $MERGED

SourceTree manually configure to use opendiff

Таким образом, SourceTree открывает FileMerge, как и ожидалось.

8
ответ дан Tom Kraina 23 May 2017 в 11:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: