Исключить некоторые файлы при работе черного цвета с помощью предварительной фиксации - PullRequest
0 голосов
/ 04 апреля 2020

Я хочу настроить черный цвет в предварительной фиксации и исключить предварительную фиксацию при проверке любой папки миграции.

Мой pyproject.toml выглядит следующим образом

[tool.black]
line-length = 79
target-version = ['py37']
include = '\.pyi?$'
exclude = '''

(
  /(
      \.eggs
    | \.git
    | \.hg
    | \.mypy_cache
    | \.tox
    | \.venv
    | _build
    | buck-out
    | build
    | dist
  )/
  | ^migrations/
'''

Я также настроил предварительную фиксацию. Но при запуске pre-commit run --all-files Black форматирует папки миграции и как я могу настроить черный

1 Ответ

1 голос
/ 05 апреля 2020

эта проблема в системе отслеживания проблем black описывает вашу конкретную проблему

pre-commit находит все файлы python, затем применяет исключение pre-commit, а затем передает этот список файлов базовым инструментам (в данном случае black)

black в настоящее время (на момент написания) форматирует все файлы, перечисленные в командной строке, независимо от black exclude pattern

предлагается использовать исключение pre-commit (через .pre-commit-config.yaml), чтобы эти файлы никогда не передавались черному:

-   id: black
    exclude: ^migrations/

примечание : в отличие от черного, предварительная фиксация будет всегда связывать только те файлы, которые проверены в вашем хранилище git, поэтому список исключений запуска dry здесь не нужен (.git / .mypy_cache / et c.)


отказ от ответственности: я автор pre-commit

...