Как правильно настроить мои pre-commit и pre-push хуки?
У меня есть простой проект Python с одним файлом в настоящее время. Он существует в папке static/cgi-bin моего проекта. В настоящее время в базе моего каталога у меня есть файл.pre-commit-config.yaml, и я не затрагивал файлы в папке.git/hooks. Я хотел бы создать pre-commit и pre-push hooks, но я не могу заставить его работать.
Когда я пытаюсь зафиксировать, происходит следующее:
isort................................................(нет файлов для проверки) Пропущен flake8...............................................(нет файлов для проверки) Пропущенный черный................................................(нет файлов для проверки) Пропущено
Когда я пытаюсь нажать, я получаю следующую ошибку:
pytest................................................................... Неудачный хук: pytest
============================= начинается тестовая сессия ================== ============ платформа darwin - Python 2.7.15, pytest-4.0.2, py-1.7.0, pluggy-0.8.0 rootdir: /Users/.../deployment, inifile: собрано 0 элементов ========================= ни один тест не был выполнен за 0,01 секунды =============== ========== ошибка: не удалось подтолкнуть некоторые ссылки на "... git"
Обратите внимание, что развертывание - это папка, в которой я работаю.
Мой код в файле yaml:
repos:
- repo: local
hooks:
- id: isort
name: isort
entry: isort
language: system
types: [python]
stages: [commit]
- id: flake8
name: flake8
language: system
entry: flake8
types: [python]
stages: [commit]
- id: black
language_version: python3.6
name: black
language: system
entry: black
types: [python]
stages: [commit]
- id: pytest
name: pytest
language: system
entry: pytest
pass_filenames: false
always_run: true
stages: [push]
0 ответов
pre-commit
передаст список подготовленных файлов, которые соответствуютtypes
/ files
к entry
перечисленные.
Ваш коммит показывает "нет файлов для проверки", потому что в вашем коммите не было файлов python. Вы, наверное, хотите бежатьpre-commit run --all-files
при первом введении новых крючков
Что касается твоего pytest
перехватчик, pytest завершает ненулевое значение, когда не запускает никаких тестов, и поэтому он не работает.