Комментарии 10
Миф: Хуки сильно замедляют процесс коммита и пуша, делая их неудобными.
Только в контексте быстрых хуков.
Дополнительную минуту до комита и много минут после коммита не все захотят ждать. Либо пропустят хуки либо будут комиттить раз в неделю.
Первый и второй шаги я бы пропустил. Для pre-commit уже созданно много готовых хуков.
https://pylint.pycqa.org/en/latest/user_guide/installation/pre-commit-integration.html
Классная статья, ставлю класс. Взял на заметку, спасибо!
У хуков достаточно много проблем, просто авторам повезло на них не попасть.
1) если хуки медленные, то будет неудобно (не все пишут на Питоне)
2) хуки должны быть строгим подмножеством CI, иначе будете чинить чужой код
3) нужно нормально делать сообщения об ошибках (использовать pre-commit), худший случай когда вообще нет вывода в консоль.
Совершенно с Вами согласен. Все таки хуки и не панацея, но и не ужасный ужас чтоб их не использовать) В целом статья больше об этом)
но и не ужасный ужас чтоб их не использовать)
Они именно ужасный ужас, для некоторых ситуаций.
Добавьте себе в хуки 1 минуту задержки и попробуйте с этим денёк пожить.
Там где я использую хуки, они у меня хуки быстрые.
% time pre-commit run --all-files
pre-commit run --all-files 2.79s user 1.39s system 222% cpu 1.879 total
Ну для некоторых ситуаций и CI/CD будут ужасным решением. К сожалению нет идеала нигде)
Вы ухожите от темы, но хорошо что вы вспомнили про разные контексты.
Для меня в статье есть один огромный минус, вы решили проблему в одном контесте и интерполировали выводы на все контексты.
Это а) не правильно, б) вредно.
Если кто-то решит воспользоваться вашим советом и попробует хуки там, где они не к месту то разочаруется в хуках.
Я внутри компании изучаю вопрос более широкого использования хуков и общаюсь с людьми которые их не любят. Часто у них опыт либо там где хуки вообще не стоит пременять или там где сделанно было через одно место.
Я бы сказал одно приложение на один репозиторий с быстрыми хуками это однозначно правильный контест для хуков. В остльных случаях есть нюансы.
Git Hooks не так страшны, как их малюют