git difftool
, похоже, запутался в Windows. Если был добавлен новый файл, Git отправляет «\. \ Nul» в качестве «левого» файла в инструмент сравнения.
Чтобы воспроизвести это:
{create a new file}
git add .
git difftool --staged
Теперь, WinMerge (или любой используемый вами просмотрщик) запускается, но сообщает, что левый путь ("\. \ Nul") недействителен.
Об этой проблеме несколько раз сообщалось на SO несколько лет. Например, это та же самая проблема:
Как заставить winmerge отображать diff для нового файла в git?
Однако принятое решение в Вышеупомянутый вопрос (и все остальные) просто не работает для меня. И теперь, когда мы находимся в 2020 году, есть ли официальное решение этой проблемы?
У Mercurial никогда не было этой проблемы. Он отправляет diff зрителю правильные пути и работает отлично. Я удивлен, столкнувшись с этой проблемой с Git.