++ed by:

7 PAUSE users
1 non-PAUSE user.

Gustavo Leite de Mendonça Chaves


TODO - Ideas for future versions of Git::Hooks


version 1.14.2

TO-DO list of niceties for the future of Git::Hooks.

The following list is no order whatsoever. Any comments or other suggestion are welcome at gnustavo AT cpan.org.

Support the WIN32 Platform

Currently we abort the build on Makefile.PL.

Improve documentation

We need:


Use Locale::TextDomain to internationalize it?

L10N pt_BR

As a first job after i18n I intend to nationalize it to Brazilian Portuguese.

In CheckAcls implement DENY for ACL operations

Along the lines of NFSv4 ACLs (http://tools.ietf.org/html/rfc5661#section-6). I'm thinking about prefixing the what component with a '!'.

Implement equivalents for the SVN::Hooks plugins

Currently we're missing UpdateConfFile. Actually, I'm thinking that UpdateConfFile is too much specific. Perhaps something along the lines of this post-update hook would be more interesting: http://stackoverflow.com/questions/279169/deploy-a-project-using-git-push.

In CheckLog allow for stop words

CheckLog.spelling should have a way to register stop words. I'd have to ask for a change in Text::SpellChecker.

The Gerrit default commit-msg implements some checks that could be used here. Some other things to check:

Require Signed-off-by lines (https://github.com/icefox/git-hooks/blob/master/git_hooks/commit-msg/signed-off-by)
Duplicate Signed-off-by lines (https://github.com/icefox/git-hooks/blob/master/contrib/commit-msg/duplicate-signedoffby)

Turn t/test-functions.pl into a module

Idea provided by Skye Shaw to make its functions usable by third-party plugins. Something like Git::Hooks::Test.

pre-commit or pre-push

It would be nice to let the user decide in which of these two hooks he'd like to have his checks run. The idea would be to have a (default and per-plugin) configuration option called *.hook accepting the options pre-commit and pre-push (defaulting for the former). This way the user would be able to make his checks run on any one of the hooks.

Use the post-rewrite hook in CheckRewrite

The CheckRewrite plugin was written without resort to the post-rewrite hook, which I think was implemented later. It seems that it would make the implementation easier and more efficient. I would still use the pre-rebase hook to detect unsafe rebases before they're done, however there should exist an option to choose to postpone the check to after the rebase.

The pre-commit and post-commit hooks would be replaced by the post-rewrite though.

Use Test::Requires::Git in the test suite

Think (again) about substituting Git::Repository for the Git module

The Git::Repository module seems to be better maintained than the standard Git module. In the past I chose the latter mainly because it was faster. However, I'd like to review them again.


Gustavo L. de M. Chaves <gnustavo@cpan.org>


This software is copyright (c) 2016 by CPqD <www.cpqd.com.br>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.