]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
Узнал про git difftool команду
authorSergey Matveev <stargrave@stargrave.org>
Wed, 27 May 2020 17:50:27 +0000 (20:50 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 27 May 2020 17:50:27 +0000 (20:50 +0300)
Которая просто сохраняет старые версии файла во временный файл и
натравливает на него и более свежий заданную утилиту, например vimdiff.
Так в Vim-е можно смотреть на коммиты полноценно, но только пофайлово.

Но для меня fugitive оно не заменяет. В нём, всегда можно нажать "C" и
ты попадёшь на объект коммита, в котором можно ходить по деревьям (tree)
и открывать файлы даже которые не попали в "патч" коммита. difftool для
каждого файла задаст вопрос хочу ли я его открыть, а в fugitive нажав
"C" я снова попаду на коммит и перемещусь на любой файл какой надо.
Хочется полностью увидеть старую версию файла до применения коммита:
просто нажать CR на "-" строке патча. Новую версию: на "+" строке.
Открыть файл сразу в vimdiff режиме со старой версией: нажать на diff
строке файла. Для меня всё же удобнее и быстрее.

И заменить его :Gdiff пока нечем в Vim-е. git add -p команда не так
удобна, особенно когда нужно добавить/отредактировать то, что не
умещается целиком в hunk. Без fugitive я пока не понимаю как достичь
такого же результата. difftool позволяет на изменённый (tracked,
modified) файл показать vimdiff, однако dp/do не приводят же к
добавлению hunk-а в индекс.


No differences found