Skip to content

Overcommit 0.27.0

Compare
Choose a tag to compare
@sds sds released this 13 Jul 16:30
· 649 commits to main since this release

This large release contains a significant number of new features. Two important ones worth mentioning:

  • First class Bundler support: You can now specify the gemfile option in your .overcommit.yml to point to a Gemfile that you want to have Bundler load as the context for your hook runs. This allows you to enforce particular versions or git revisions are used for various gems (including Overcommit itself).
  • Adding existing Git hook scripts: You can easily migrate your existing Git hook scripts to work with Overcommit without writing any Ruby code. See the README section on Adding Existing Git Hooks for details.

New Features

  • Add HtmlHint pre-commit hook that checks HTML files with
    HTMLHint
  • Add support to the hook execute helper for accepting an optional list of
    splittable command arguments for transparently dealing with really long file
    lists and the operating system command length limit
  • Add modified_files helper to PostCheckout and PostRewrite hooks
  • Add rewritten_commits helper to PostRewrite hooks
  • Add gemfile option to configuration file which allows a Gemfile to be
    loaded by Bundler to enforce particular gem versions during hook runs
  • Add support for OVERCOMMIT_DEBUG environment variable which toggles the
    display of additional verbose output from executed commands
  • Add support for defining
    hooks based on your existing git hooks
    within your .overcommit.yml (no Ruby code required)
  • Add support for filtering all hooks except a small list via the ONLY
    environment variable (similar to SKIP except a whitelist instead of
    blacklist)

Changes

  • Don't display "No applicable hook-type hooks to run" message unless debug
    mode is enabled

Bug Fixes

  • Fix pre-commit hook bug where amending a commit which breaks a symlink would
    result in that symlink not being included in the list of modified files
  • Fix CaseConflicts pre-commit hook handling of large sets of files
  • Fix SemiStandard/Standard hooks to read from STDOUT instead of STDERR
    and handle new output format
  • Fix commit-msg hooks to handle large commit messages auto-generated by the
    --verbose flag for git commit