The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

The Git::Hooks module

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

The Git::Hooks module is a framework to make it easier to implement Git hooks.

Documentation

To read about Git::Hooks, look at the embedded documentation in the module itself. Inside the distribution, you can format it with perldoc:

    $ perldoc lib/Git/Hooks.pm

If you have already installed the module, you can specify the module name instead of the file location:

    $ perldoc Git::Hooks

You can read the documentation and inspect the meta data on one of the CPAN web interfaces, such as CPAN Search or MetaCPAN:

The standard module documentation has example uses in the SYNOPSIS section, but you can also look in the examples/ directory (if it's there), or look at the test files in t/.

There is a tutorial to guide you in the most common usages.

    $ perldoc Git::Hooks::TUTORIAL

Installation

You can install this module with a CPAN client, which will resolve and install the dependencies:

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

Git::Hooks is packaged with Dist::Zilla, so that you can't install it directly from the repository. However, it's possible to use it directly from the Git repository, like so:

    #!/usr/bin/env perl
    use lib '/path/to/git/Git-Hooks/lib';
    use Git::Hooks;
    run_hooks($0, @ARGV);

Source location

The meta data, such as the source repository and bug tracker, is in Makefile.PL or the META.* files it creates. You can find that on those CPAN web interfaces, but you can also look at files directly in the source repository:

If you find a problem, file a ticket in the issue tracker:

Getting help

Although I'm happy to hear from module users in private email, that's the best way for me to forget to do something.

Besides the issue trackers, you can find help at Perlmonks or Stackoverflow, both of which have many competent Perlers who can answer your question, almost in real time. They might not know the particulars of this module, but they can help you diagnose your problem.

You might like to read brian's Guide to Solving Any Perl Problem.

You should have received a LICENSE file, but the license is also noted in the module files. About the only thing you can't do is pretend that you wrote code that you didn't.

Good luck!

Enjoy,

Gustavo Chaves, gnustavo@cpan.org