Changes for version 0.043 - 2013-06-26

  • New features
    • Support the new pre-push hook, implemented by Git 1.8.2 which is invoked during a "git push" command.
    • New class Git::More::Message, representing a Git commit message. Generally speaking, a commit message can be any string whatsoever. However, the Git community came up with a few conventions for how to best format a message and this class embraces those conventions making it easier for you to validate and change a commit message structure. With it the Git::Hooks::CheckLog and Git::Hooks::GerritChangeId plugins were much simplified.
    • New method Git::More::read_commit_msg_file that reads the contents of a file, respecting the i18n.commitencoding config option, and returns its contents stripspaced.
    • New method Git::More::write_commit_msg_file that writes a string to a file respecting the i18n.commitencoding config option.
    • New methods Git::More::push_input_data and Git::More::get_input_data to unify the treatment of data read from STDIN by the hooks pre-receive, post-receive, pre-push, and post-rewrite.
  • Fixes
    • The data passed to the post-rewrite hook via STDIN wasn't being processed.

Documentation

Modules

A framework for implementing Git hooks.
Git::Hooks plugin for branch/tag access control.
Git::Hooks plugin which requires citation of JIRA issues in commit messages.
Git::Hooks plugin to enforce commit log policies.
Git::Hooks plugin for checking against unsafe rewrites
Git::Hooks plugin for ref/file structure validation.
Git::Hooks plugin to insert a Change-Id in a commit message.
A Git extension with some goodies for hook developers.
A Git commit message