Changes for version 0.032 - 2013-01-06

  • Simplify plugin/hook integration
  • Previously, if a plugin could be hooked to more than one hook, one should configure all the integrations by hand. For instance, the CheckJira plugin can be hooked to the update, the pre-receive, and the commit-msg hooks, and the user had to know which hooks should be enabled. Now it's easier because the plugins can hook themselves to all hooks directly. In this way, for instance, instead of configuring CheckJira specifically for one of those hooks with one of the following configurations:
    • git config --add githooks.commig-msg CheckJira git config --add githooks.pre-receive CheckJira git config --add githooks.update CheckJira
  • One can simply do this:
    • git config --add githooks.plugin CheckJira
  • CheckJira will automatically be enabled for all plugins.
  • Also, the plugins can be referred to by their fully qualified module names (e.g. Git::Hooks::CheckJira) to allow for third party plugins.
  • If the githooks.plugin option is not defined, the configuration processing will try to build it from the old githooks.HOOK configuration options that are not needed anymore, so to preserve compatibility. This is a temporary measure.

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 ref/file structure validation.
Git::Hooks plugin to insert a Change-Id in a commit message.
An extension of App::gh::Git with some goodies for hook developers.