PhpStorm и pre-commit hook с PHP-CS-Fixer, который изменяет количество пустых строк в php файле
Воспроизводит на Windows и Mac OS.
В нашем проекте у нас есть хук предварительной фиксации, который запускает PHP-CS-Fixer, который изменяет количество пустых строк между методами в файле (сокращается со многих до одного). После этого это делает git add <modified_file>
поставить это изменение.
Когда мы фиксируем из PhpStorm Commit Dialog (Ctrl + K), он успешно фиксируется, а затем вызывает странное состояние этого диалога (снова нажмите Ctrl + K после фиксации) с сообщением "Содержимое идентично" (см. Первый снимок экрана).
Диалог фиксации PhpStorm после фиксации с изменениями пустых строк
Что мы видим, если запустить git status после commit
Что мы увидим, если запустить коммит git diff после коммита
Примечание: если мы фиксируем из командной строки (не из диалога фиксации PhpStorm), все идет хорошо.
(ОБНОВЛЕНИЕ) Примечание 2: Если предварительная фиксация (php-cs-fixer) внесла изменения, не связанные с пустыми строками, все также будет в порядке.
Что мы делаем не так? Это проблема, связанная с фиксацией PhpStorm? Как это исправить?
1 ответ
Я опубликовал проблему в трекере ошибок PhpStorm, и они предложили добавить хук post-commit с git update-index -g
, Я сделал это, и это работает!