flake8/docs/vcs.rst
Ian Cordasco 9844142528 Update the VCS docs
Also, update the git_hook auto-installer text.
Fixes #87 on BitBucket
2013-02-26 11:39:17 -05:00

59 lines
1.7 KiB
ReStructuredText

VCS Hooks
=========
Mercurial hook
--------------
To use the Mercurial hook on any *commit* or *qrefresh*, change your .hg/hgrc
file like this::
[hooks]
commit = python:flake8.hooks.hg_hook
qrefresh = python:flake8.hooks.hg_hook
[flake8]
strict = 0
complexity = 12
If *strict* option is set to **1**, any warning will block the commit. When
*strict* is set to **0**, 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, it's just ignored. If specified, it must
be a positive value. 12 is usually a good value.
Git hook
--------
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.