black/docs/version_control_integration.md
Bibo-Joshi cabeb5b545
Document some culprits with pre-commit (#1783)
* Document some culprits with pre-commit

* make pre-commit happy

* don't use monospace for black & pre-commit

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* make pre-commit happy again

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-10-27 13:59:43 -07:00

34 lines
1.3 KiB
Markdown

[//]: # "NOTE: THIS FILE WAS AUTOGENERATED FROM README.md"
# Version control integration
Use [pre-commit](https://pre-commit.com/). Once you
[have it installed](https://pre-commit.com/#install), add this to the
`.pre-commit-config.yaml` in your repository:
```yaml
repos:
- repo: https://github.com/psf/black
rev: 20.8b1 # Replace by any tag/version: https://github.com/psf/black/tags
hooks:
- id: black
language_version: python3 # Should be a command that runs python3.6+
```
Then run `pre-commit install` and you're ready to go.
Avoid using `args` in the hook. Instead, store necessary configuration in
`pyproject.toml` so that editors and command-line usage of Black all behave consistently
for your project. See _Black_'s own
[pyproject.toml](https://github.com/psf/black/blob/master/pyproject.toml) for an
example.
When using the `--diff` flag with `pre-commit`, you must also use the `--check` flag.
When you want to run _Black_ only on specific files in pre-commit, either use
pre-commit's own `files` and `exclude` or, when using _Black_'s `--include`, set
`--force-exclude` to the negated regex of `--include`.
If you're already using Python 3.7, switch the `language_version` accordingly. Finally,
`stable` is a branch that tracks the latest release on PyPI. If you'd rather run on
master, this is also an option.