Skip to main content

Automating tasks for git users.

Project description

[![PyPI Python Versions](https://img.shields.io/pypi/pyversions/flowtool-githooks.svg)](https://pypi.python.org/pypi/flowtool-githooks) [![PyPI Latest Version](https://img.shields.io/pypi/v/flowtool-githooks.svg)](https://pypi.python.org/pypi/flowtool-githooks) [![PyPI Distribution Format](https://img.shields.io/pypi/format/flowtool-githooks.svg)](https://pypi.python.org/pypi/flowtool-githooks)

flowtool-githooks

Some functionality to use granular git hooks.

The main concept behind flowtool-githooks is, that instead of running one single hook script the package will ‘run’ a directory instead. The directory will be created right next to where the hook is in .git/hooks and it has the name of the hook plus .d. So for example the directory for the pre-commit hook is .git/hooks/pre-commit.d right next to the hook script: .git/hooks/pre-commit

flowtool-githooks ships the runner script and adds some commands to manage the content of the hook directories.

Scripts inside the hooks directory, .git/hooks/pre-commit.d and .git/hooks/commit-msg.d currently, are only executed, if the are executable. This is an old way of activating and deactivating the scripts by the management command.

## Installation

Currently the flowtool-githooks package contains only the runner and the management commands. To get some pre configured hooks check the [flowtool-githooks-demo](https://github.com/isnok/py-flowlib/tree/master/hooks-demo) package, and (for python-related hooks) [flowtool-python](https://github.com/isnok/py-flowlib/tree/master/pythonic).

Once you have flowtool-githooks and it’s requirements installed, you can run

`shell flowtool githooks-install # install the runner (asks before overwriting anything) `

from inside a git repository to install the hooks. When they are installed, they can be configred interactively by running

`shell flowtool githooks-config # interactively configure git hooks (needs other hook-pkgs also) `

And you can also just get the status of githooks in the current repo:

`shell flowtool githooks-status `

## Custom hook scripts

Currently it is better supported to create symlinks in the hook directory. To introduce arbitrary scripts/executables as git hooks use the command:

`shell $ flowtool githooks-introduce --hook <hook_name> /path/to/file $ flowtool githooks-introduce --help # might be helpful as well `

## More to come

There is also a small library of “discovery functions” contained in this package. It is used by some hook scripts to find files to take care of.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

flowtool_githooks-0.7.45-py2.py3-none-any.whl (32.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page