Overcommit 0.27.0
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 aGemfile
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 toPostCheckout
andPostRewrite
hooks - Add
rewritten_commits
helper toPostRewrite
hooks - Add
gemfile
option to configuration file which allows aGemfile
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 toSKIP
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 fromSTDOUT
instead ofSTDERR
and handle new output format - Fix
commit-msg
hooks to handle large commit messages auto-generated by the
--verbose
flag forgit commit