Как правильно настроить мои 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 завершает ненулевое значение, когда не запускает никаких тестов, и поэтому он не работает.

Другие вопросы по тегам