Git diff -cc mode не будет отображаться difftool - PullRequest
4 голосов
/ 07 марта 2019

Я не уверен, что происходит, но я просто настроил свой инструмент сравнения, который будет вызываться git difftool, но самые первые обращения к файлу difftool отображаются стандартным способом diff - на консоли с построчными заменами

diff --cc path/to/file.c
index ac1b99f,da29e2e..0000000
--- a/path/to/file.c
+++ b/path/to/file.c
@@@ -186,18 -133,20 +188,18 @@@

   code code code code
   more code more code more code
-- old code old code old code [displayed in red]
++ new code new code new code [displayed in green]
   even more code even more code 
   yet more code yet more code

Похоже, что это особый случай diff, поскольку он имеет флаг --cc и тройной символ @ (@@@) вместо двойного (@@),и самое главное странное описание проверяемых ревизий: hash1,hash2..0000000.

Что именно это?Я выбрал Beyond Compare в качестве инструмента сравнения, может ли он обрабатывать эти случаи?Если нет, может ли другой сделать это?

1 Ответ

1 голос
/ 07 марта 2019

Комбинированные различия свойственны Git, а обычно недоступны где-либо еще.

Git не знает, как вызывать другие команды, чтобы они создавали комбинированные различия, даже если какая-то другая командабудет в состоянии сделать это.

(Git описывает, как читать объединенные различия в одном разделе различной git diff документации, и пропускает важный факт: объединенные различия обычно опускают большинствоо различиях. Этот факт упоминается в другом месте в документации, далеко от первой части, изучаемой при попытке понять, как читать комбинированный diff Git. Во всяком случае, комбинированные diffы действительно хороши только для проверки частей слияний слияния.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...