Skip to main content

pre-commit hook for Git

Project description

Hook that blocks bad commits. Useful for Python-development.

Installation

You can install, upgrade, uninstall git-pre-commit-hook with these commands:

$ pip install git-pre-commit-hook
$ pip install --upgrade git-pre-commit-hook
$ pip uninstall git-pre-commit-hook

Features

  • Work fine with initial commit.
  • Work fine with all filenames.
  • Work with index contents instead of working copy.
  • Plugin architecture: adding new checks is easy.
  • Builtin plugins for:

Examples

Install hook to current Git-repository:

git-pre-commit-hook install \
  --plugin flake8 \
  --plugin frosted \
  --plugin json \
  --plugin file_size \
  --plugin rst \
  --plugin yaml

Installed hook rejects commits:

  • if any file has size greater than 10MB
  • if files with .json extension contains invalid JSON
  • if Python-code doesn’t pass check with flake8 (with pep8-naming)
  • if Python-code doesn’t pass check with frosted
  • if files with .rst extension contains invalid RST
  • if files with .yaml extension contains invalid YAML

List available plugins:

git-pre-commit-hook list-plugins

Show information about plugin:

git-pre-commit-hook show-plugin-info json

Contributing

  1. Fork git-pre-commit-hook

  2. Clone your fork

  3. Install tox:

    pip install tox
    
  4. Create development environment:

    tox -e devenv
    source devenv/bin/activate
    
  5. Edit code

  6. Run tests:

    tox
    
  7. Send pull request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
git-pre-commit-hook-0.0.11.tar.gz (5.8 kB) Copy SHA256 hash SHA256 Source None May 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page