Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jul 4, 2015
  1. v1.10.0

      [New features]
      - CheckFile: Implement new directives to check files by comparing their
        names with regular expressions.
      - Git::Hooks's homepage now is the GitHub Page
  2. Improve the tutorial a bit

  3. Add develop requires to dist.ini

    This is the list of module required to run the author tests. Their
    listing on the dist.ini should placate the distribution Kwalitee
    metrics [0].
    Ref: [0]
Commits on Jul 3, 2015
  1. CheckFile: Implement the REGEXP checks

    New directives are available to check the file's basename and full
    name against regular expressions.
  2. Update the TODO file

Commits on Jul 1, 2015
  1. Add TODO item

Commits on May 28, 2015
  1. v1.9.0

        Previously Git::Hooks supported Gits since version 1.6.0.
      - Git::More: the methods filter_files_in_* no longer return submodule
        paths when they change, since most plugins assume they can apply
        git-cat-file and other Git commands on the paths returned, but they fail
        on submodule paths.
  2. Ignore changes on submodule paths

    The Git::More filter_files_in_* methods return lists of files changed
    in a commit or a range of commits. When submodules are used the names
    of their paths were being returned in the list, which caused problems
    when they were being fed to the git-cat-file command. So, now we pass
    the option --ignore-submodules to the git-diff-* commands so that the
    module paths aren't returned anymore.
  3. Drop support for Gits older than 1.7.2

    Up until now we tried to support Gits from version 1.6.0 on. But 1.7.2
    is almost five years old now and there are some niceties since 1.6.0
    that I'm going to indulge myself in.
Commits on May 22, 2015
  1. v1.8.1

      - CheckCommit: The checkcommit.canonical option requires the
        git-check-mailmap command which is available since Git 1.8.4. Older Gits
        don't have it and Git::Hooks now detects this and explains the problem
        to the user instead of simply die.
  2. CheckCommit: Treat missing git-check-mailmap command

    The git-check-mailmap command is available since Git 1.8.4. Older Gits
    don't have it and Git::Hooks should explain this to the user.
  3. v1.8.0

      [New features]
      - CheckCommit: Add new plugin Git::Hooks::CheckCommit which checks commit
        information such as author and committer names and emails and commit
      - CheckJira: New functionality to insert a comment about the commit on the
        JIRA issue during the post-rewrite hook.
      - CheckLog: Add option checklog.ref to restrict the references on which
        the checks must be performed, making it equivalent to the checkjira.ref
      - Add support for the push-to-checkout hook, new as of Git 2.4.0.
      - The changes implemented on version 1.7.0 in the function
        Git::More::get_commit were reverted because they imposed a performance
        penalty on every call, even though most of them wouldn't use the new
        information about commit signatures.
      - Skip checks for users configured as githooks.admin on Gerrit's
        patchset-created hook.
      - CheckJira: Use checkjira.ref option in the patchset-created hook too.
      Kudos to Mikko Koivunalho who provided code and ideas for most of the new
      features in this release.
  4. CheckLog: Config option 'ref' to limit by branch

    Mikko Koivunalho authored committed
    Ref: #20
Commits on May 21, 2015
  1. Add plugin Git::Hooks::CheckCommit

    This plugin detects invalid email and names for author and
    committers. It also detects invalid commit signatures.
    Original idea and code provided by Mikko Koivunalho [0].
    Ref: [0] #15
  2. CheckJira: Add comment notification on post-rewrite hook

    Original idea and code contributed by Mikko Koivunalho [0].
    Ref: [0] #18
Commits on May 4, 2015
Commits on May 2, 2015
Commits on May 1, 2015
  1. Add support for the push-to-checkout hook

    This hook was implemented for the forthcoming Git 2.4 release.
Commits on Apr 28, 2015
  1. Revert "Return commit signature in Git::More::get_commit(s)"

    This reverts commit 7f85a87.
    In order to show information about commit signatures Git has to invoke
    'gpg --verify' for each commit, which we shouldn't do unless we need
    the information.
    Since this funcionality wasn't used yet I'm reverting it as a bug fix
    and I'll not bump the major version.
Commits on Apr 27, 2015
  1. v1.7.1

      - CheckLog: the body-max-width configuration don't check the size of
        indented lines in the commit messages since they're normally used for
        quotation or by Git itself to list, for example, the files conflicted on
        a merge.
      - Show some Git errors during the test suite which were being suppressed.
  2. Show git errors on test setup

    In the new_repos function the git-clone command had its STDERR
    directed to /dev/null so that we didn't know what error could had
    hapenned. Since I'm getting lots of errors in the test suite on
    OpenBSD systems I need to get visibility on this.
  3. CheckLog: make body-max-width disregard indented lines

    Only lines starting with a non-whitespace character should be checked
    against the limit. It's a common style to quote things with indented
    lines and we like to make those lines free of any restriction in order
    to keep the quoted text authentic.
Commits on Apr 23, 2015
  1. v1.7.0

      [New features]
      - CheckFile: New githooks.checkfile.size option imposes a limit to the
        maximum size of files added to the repository.
      - New function Git::More::get_sha1 returns the SHA1 associated with a
        revision expression.
      - Git::More::get_commit(s) functions return information about commit
      - CheckLog plugin error messages now show the full SHA1 of commits instead
        of a 7-letter prefix to avoid potential ambiguities.
      - CheckLog: The githooks.checklog.title-required option when false was
        disabling all other title checks.
      - Git::More::get_commit(s) functions now UTF-8 encode its results.
      - Git::More::get_commit(s) functions were returning a hash with the wrong
        key 'commmitter_name'.
      [Internal changes]
      - Git::More::get_commit(s) functions now cache results avoiding repeated
        invocations of git-rev-list for different plugins.
  2. CheckLog: Fix POD

  3. Use !-d instead of -f

    PerlCritic with the Perl::Critic::Pulp extension tells me that the -f
    operator is unecessarily restrictive and sometimes better changed to
    !-d, which I did.
  4. Remove unneeded semicolons

    Spotted by PerlCritic.
Commits on Apr 22, 2015
  1. Fix "commmitter_name"

Commits on Apr 21, 2015
  1. CheckLog: Fix title-required option

    The option title-required, when false, was disabling every other title
    check. This is not its intention.
    Now it triggers an error if no title is provided. But regardless of
    its value, all other checks are performed if a title is provided.
  2. CheckLog: Refactor check functions

    Renames the check_* functions to *_errors and make them return the
    number of errors found instead of a boolean telling if any error was
  3. CheckLog: Show full SHA1 in error messages

    We were showing just the first seven characters of the SHA1 but we
    can't know for sure how many characters are needed to disambiguate the
    commit. The error messages will be longer, but they will be safer.
  4. Refactor CheckLog tests

    After each option test we must reset the configuration to the
    default. The best way to do this is simply to remove the
    githooks.checklog configuration section.
Something went wrong with that request. Please try again.