NAME
TODO - Ideas for future versions of Git::Hooks
VERSION
version 1.13.0
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.