Framework for implementing Git (and Gerrit) hooks
Perl Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Git
script
t
.gitignore
.ispell_english
.travis.yml
Changes
INSTALL.SKIP
MANIFEST.SKIP
README.pod
dist.ini
perlcritic.rc
tidyall.ini

README.pod

Git::Hooks

A Perl framework for implementing Git (and Gerrit) hooks.

What's this about?

Git hooks are programs you install in Git repositories in order to augment Git's functionality.

The Git::Hooks Perl module is a framework that makes it easier to implement and use Git hooks. It comes with a set of plugins already implementing useful functionality for you to make sure your commits comply with your project policies. As a Git user or a Git server administrator you probably don't need to implement any hooks for most of your needs, just to enable and configure some of the existing plugins.

Installation

Git::Hooks is installed like any other Perl module. It's easier to use a CPAN client, such as cpanm or cpan, so that dependencies are installed automatically:

$ cpanm Git::Hooks
$ cpan Git::Hooks

You can even use it directly from a clone of its Git repository. All you have to do is to tell Perl where to find it by using this in your scripts:

use lib '/path/to/clone/of/git-hooks/lib';
use Git::Hooks;

Documentation

The main module documents its usage in detail. Each plugin is implemented as a separate module under the Git::Hooks:: namespace. Git::Hooks distribution comes with a set of plugins and you can find more on CPAN. The native plugins provided by the distrubution are these:

For a gentler introduction you can read our Git::Hooks::Tutorial. They have instructions for Git users, Git administrators, and Gerrit administrators.

Getting Help

In order to ask questions or to report problems, please, file an issue at GitHub.

Git::Hooks is copyright (c) 2008-2018 of CPqD.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. About the only thing you can't do is pretend that you wrote code that you didn't.

Enjoy!

Gustavo Chaves <gnustavo@cpan.org>