NAME
TODO - Ideas for future versions of Git::Hooks
VERSION
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:
A plugin developer tutorial
Revise documentation and make it more uniform
Follow the advice in 13 Things People Hate about Your Open Source Docs
I18N
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.
CheckLog should check the footer of the commit log message
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.
AUTHOR
Gustavo L. de M. Chaves <gnustavo@cpan.org>
COPYRIGHT AND LICENSE
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.