githooks is a simple module that adds several python related useful hooks to use with Git hooks system.
It's still alpha software!
It uses the hghooks module as backend. It implements part of the Mercurial API for hooks, and calls hghooks for the heavy lifting. It supports what hghooks module supports, currently:
- pep8 checking of python files
- pyflakes checking of python files
- Checking for forgotten pdb statements in python files
- Trac integration. This includes:
- Making sure at least a ticket is mentioned in the changeset message
- Updating the Trac ticket with the changeset
hghooks is being developed by Lorenzo Gil Sanchez. It's released under a LGPLv3, and it's hosted on:
How to use
Githooks has serveral options. It uses git config as configuration backend.
All githooks options has "githooks" as family, so a git configuration file looks like similar to this:
[user] name = John Doe email = email@example.com [githooks "pep8"] ignore = E501 [githooks "trac"] hook-active = False
How to read:
$ git config --global githooks.pep8.ignore E501 $
How to set:
$ git config --global githooks.pep8.ignore E501
You can find more details about git configuration on the git help:
$ git config --help
In git configuration there are several contexts. Githooks uses two of them.
Global context is user level. This configuration is common for all the repositories of the user.
- pep8 error list to ignore
- defaults to None
Local context is repository level. This configuration only affects one repository.
- activate trac integration hook
- defaults to False
More and better documentation soon :P