Подтвердить что ты не робот

Kdiff3 не открывается командой mergetool

У меня конфликты, поэтому я печатаю:

git mergetool

Затем я получаю сообщение с сообщением:

Нажмите "Вернуться", чтобы запустить инструмент разрешения слияния

Обычно, когда я это делаю, он открывает kdiff3, поэтому я могу объединить различия.

теперь, когда я это делаю, он просто продолжает следующий файл, а kdiff3 вообще не открывается.

Я triple cheched мой конфигуратор git и мой системный путь, и все кажется идеальным. Файл Config выглядит следующим образом:

 [merge]
    tool = kdiff3
 [mergetool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [diff]
    guitool = kdiff3
 [difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor   autocrlf = true
 [user]
    name = James Farrell
    email = [email protected]
 [github]
    user = whygosystems
    token = 87d00c2e613b3a7c8c1be817b75b8a33
 [diff]
    external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh

У кого-нибудь есть идеи, что может быть неправильным?

У меня есть чувство (хотя я мог ошибаться, что это было проблемой, поскольку я установил новый клиент Windows Github)....

4b9b3361

Ответ 1

Я понимаю, что это старо, но для будущих гуглеров у KDiff3 также есть опция, где, если слияние тривиально, оно будет разрешать это тихо и даже не показывать окно.

У меня это случалось со мной в прошлом, так что это может быть то, что происходит для вас. Я думаю, что этот параметр называется "Автосохранение и выход из слияния без конфликтов".

Ответ 2

Я не использовал git для этой цели в Windows через некоторое время, но ваш файл конфигурации показывает некоторые интересные отличия re: программные строки.

[core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor   autocrlf = true

против

[difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe

Я подозреваю, что может возникнуть проблема с пробелами в имени программы. Попробуйте настроить исполняемые пути diff/mergetool на:

path = \"c:/Program Files (x86)/KDiff3/kdiff3.exe\"

Ответ 3

Опять же, для будущих гуглеров:

Начиная с версии 2.48.02 (29 ноября 2014 г.), Git Расширения начали распространять 64-битную версию kdiff3. (См. https://github.com/gitextensions/gitextensions/blob/master/GitUI/Resources/ChangeLog.md#version-24802-29-november-2014.)

Итак, если вы используете 32-разрядную ОС и установили установщик kwiff3 Git Extensions, ваш kdiff3 даже не будет запускаться сам по себе. Решение состоит в том, чтобы загрузить 32-разрядную версию (http://sourceforge.net/projects/kdiff3/files/kdiff3/) и переустановить. Мне даже не нужно было сначала удалить 64-разрядную версию, так как программа установки просто перезаписала предыдущую установку.

Ответ 4

Еще один ответ будущим Googlers:

На самом деле, инструмент внешнего слияния не будет запущен. Вопрос был подан в августе 2015 года: https://jira.atlassian.com/browse/SRCTREEWIN-3543