mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-15 00:44:44 +00:00
Update this to document --install-hooks instead of distracting red herring
of the old way to do this.
This commit is contained in:
parent
549cb7ff7d
commit
c208ce9378
1 changed files with 23 additions and 48 deletions
71
docs/vcs.rst
71
docs/vcs.rst
|
|
@ -1,59 +1,34 @@
|
||||||
VCS Hooks
|
VCS Hooks
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Mercurial hook
|
flake8 can install hooks for Mercurial and Git so that flake8 is run
|
||||||
--------------
|
automatically before commits. The commit will fail if there are any
|
||||||
|
flake8 issues.
|
||||||
|
|
||||||
To use the Mercurial hook on any *commit* or *qrefresh*, change your .hg/hgrc
|
You can install the hook by issuing this command in the root of your
|
||||||
file like this::
|
project::
|
||||||
|
|
||||||
[hooks]
|
$ flake8 --install-hooks
|
||||||
commit = python:flake8.hooks.hg_hook
|
|
||||||
qrefresh = python:flake8.hooks.hg_hook
|
|
||||||
|
|
||||||
[flake8]
|
In the case of Git, the hook won't be installed if a custom
|
||||||
strict = 0
|
``pre-commit`` hook file is already present in
|
||||||
complexity = 12
|
the ``.git/hooks`` directory.
|
||||||
|
|
||||||
|
You can control the behavior of the pre-commit hook using environment
|
||||||
|
variables:
|
||||||
|
|
||||||
If *strict* option is set to **1**, any warning will block the commit. When
|
``FLAKE8_COMPLEXITY``
|
||||||
*strict* is set to **0**, warnings are just printed to the standard output.
|
Any value > 0 enables complexity checking with McCabe. (defaults
|
||||||
|
to 10)
|
||||||
|
|
||||||
*complexity* defines the maximum McCabe complexity allowed before a warning
|
``FLAKE8_STRICT``
|
||||||
is emitted. If you don't specify it, it's just ignored. If specified, it must
|
If True, this causes the commit to fail in case of any errors at
|
||||||
be a positive value. 12 is usually a good value.
|
all. (defaults to False)
|
||||||
|
|
||||||
|
``FLAKE8_IGNORE``
|
||||||
|
Comma-separated list of errors and warnings to ignore. (defaults to
|
||||||
|
empty)
|
||||||
|
|
||||||
Git hook
|
``FLAKE8_LAZY``
|
||||||
--------
|
If True, also scans those files not added to the index before
|
||||||
|
commit. (defaults to False)
|
||||||
To use the Git hook on any *commit*, add a **pre-commit** file in the
|
|
||||||
*.git/hooks* directory containing::
|
|
||||||
|
|
||||||
#!/usr/bin/env python
|
|
||||||
import sys
|
|
||||||
from flake8.hooks import git_hook
|
|
||||||
|
|
||||||
COMPLEXITY = 10
|
|
||||||
STRICT = False
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
sys.exit(git_hook(complexity=COMPLEXITY, strict=STRICT, ignore='E501'))
|
|
||||||
# Alternatively
|
|
||||||
# sys.exit(git_hook(complexity=COMPLEXITY, strict=STRICT,
|
|
||||||
# ignore=['E501']))
|
|
||||||
|
|
||||||
|
|
||||||
If *strict* option is set to **True**, any warning will block the commit. When
|
|
||||||
*strict* is set to **False** or omitted, warnings are just printed to the
|
|
||||||
standard output.
|
|
||||||
|
|
||||||
*complexity* defines the maximum McCabe complexity allowed before a warning
|
|
||||||
is emitted. If you don't specify it or set it to **-1**, it's just ignored.
|
|
||||||
If specified, it must be a positive value. 12 is usually a good value.
|
|
||||||
|
|
||||||
*lazy* when set to ``True`` will also take into account files not added to the
|
|
||||||
index.
|
|
||||||
|
|
||||||
Also, make sure the file is executable and adapt the shebang line so it
|
|
||||||
points to your Python interpreter.
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue