Гит (окна); P4merge как ошибка слияния

Я попытался настроить p4merge в качестве инструмента слияния, но, похоже, он не работает. Вот мои команды:

git config --global merge.tool p4merge
git config --global mergetool.p4merge.path "C:/Program Files/Perforce/p4merge.exe"
git config --global mergetool.p4merge.cmd "p4merge.exe \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\""

И вот ошибка, которую я получаю: введите здесь описание изображения

Я также попытался установить портативная версия git и выполнение команд из подсказка Windows cmd, и я все равно получаю аналогичную ошибку.

Любые идеи здесь? Я в тупике.

Изменить

Как ни странно, после того, как я настроил p4merge через git bash и это не удалось, я попытался выполнить слияние в Team Explorer Visual Studio и он запустил p4merge (tableflip). Я предполагаю, что команда, которая запускается через VS, похожа на git bash, но я не уверен, как их соотнести.

Редактировать 2:

Вот мой git status, показывающий мой статус конфликта слияния: введите здесь описание изображения


person Fillip Peyton    schedule 20.05.2016    source источник
comment
Можете ли вы сделать статус git и показать мне ответ. Кажется, у вас нет файла для слияния. Попробуйте также git mergetool --tool=p4merge   -  person Flows    schedule 26.05.2016
comment
Конечно вещь. Отредактированный пост с вашим предложением.   -  person Fillip Peyton    schedule 26.05.2016
comment
У вас есть ошибка отказа в разрешении. Не могли бы вы проверить, что у вас есть доступ к C:\Program Files\Git* ? Работает ли команда запуска p4merge из командной строки без ошибок?   -  person Flows    schedule 27.05.2016
comment
@Flows — оба работают git-bash.exe и p4merge.exe из соответствующих мест работает из одного и того же окна git bash.   -  person Fillip Peyton    schedule 28.05.2016
comment
@Flows - Есть еще идеи?   -  person Fillip Peyton    schedule 28.05.2016
comment
Запуск git-mergetool тоже работает? У вас есть права доступа в репозиторий? Также убедитесь, что у вас установлена ​​последняя версия git/git gui. К сожалению, пока понятия не имею.   -  person Flows    schedule 29.05.2016
comment
Пожалуйста, включите в вопрос сообщения об ошибках и код в виде текста, а не ссылки на изображения на внешних сайтах. Связанные изображения больше не доступны, что делает этот вопрос довольно бесполезным.   -  person mkrieger1    schedule 12.02.2019


Ответы (1)


Во-первых, попробуйте ту же команду config в обычном сеансе cmd (как я упоминал в «экранируйте двойные кавычки в git config из cmd ").
Просто убедитесь, что вы разархивировали последнюю версию git-for-windows (PortableGit-2.8.3-64-bit.7z.exe), например, C:\git, и добавил C:\git\bin к вашему %PATH%.

Во-вторых, убедитесь, что у вас есть файлы, которые необходимо объединить, т.е. которые имеют неразрешенные конфликты слияния (с маркерами конфликта слияния в них), чтобы git mergetool для работы.

person VonC    schedule 22.05.2016
comment
1) Пробовал устанавливать .gitconfig из windows cmd. У меня есть это как мой глобальный .gitconfig. Я добавил свой каталог git bin в свой %PATH% var. Когда я пытаюсь запустить git mergetool, я все равно получаю та же ошибка. 2) У меня определенно есть маркеры конфликта <<<< ====== >>>>>. Есть идеи, почему? Ошибка звучит более низкоуровнево для меня, но что я знаю? ¯_(ツ)_/¯ - person Fillip Peyton; 23.05.2016
comment
@FillipPeyton Попробуйте это из сеанса CMD, используя git, разархивированный в папку без места. И убедитесь, что статус git указывает, что у вас есть файлы с конфликтами. - person VonC; 23.05.2016
comment
Как ни странно, после того, как я настроил p4merge через git bash и это не удалось, я попытался выполнить слияние в Team Explorer Visual Studio и он запустил p4merge (tableflip) - person Fillip Peyton; 24.05.2016
comment
@FillipPeyton После того, как Visual Studio запустит p4merge, не могли бы вы запустить Process Explorer (technet.microsoft. com/en-us/sysinternals/bb896653)? Вы увидите полную командную строку, используемую Visual Studio для запуска указанного инструмента слияния. - person VonC; 24.05.2016
comment
похоже, что команда эквивалентна тому, что у меня есть в моем gitconfig: "C:\Program Files\Perforce\p4merge.exe" "C:\Users\fpeyton\AppData\Local\Temp\TFSTemp\vctmp18592_875859.AccountSettings.Enterprise.fb6784be.cshtml" "C:\Users\fpeyton\AppData\Local\Temp\TFSTemp\vctmp18592_563070.AccountSettings.Enterprise.08586638.cshtml" "C:\Users\fpeyton\AppData\Local\Temp\TFSTemp\vctmp18592_493710.AccountSettings.Enterprise.2bf63a5c.cshtml" "C:\Users\fpeyton\AppData\Local\Temp\TFSTemp\vctmp18592_198233.AccountSettings.Enterprise.08586638merge.cshtml" . - person Fillip Peyton; 24.05.2016
comment
Когда я пытаюсь использовать Process Explorer с git-bash/mintty, я не вижу никаких процессов, запускаемых под git-bash/mintty. - person Fillip Peyton; 24.05.2016
comment
любая дополнительная помощь? Ваш оригинальный ответ не решает мой вопрос. - person Fillip Peyton; 28.05.2016
comment
@FillipPeyton Нет: я пытался, но не смог воспроизвести проблему на своей стороне. Обычно я не использую git bash, только обычный сеанс CMD. - person VonC; 28.05.2016