Tags: blech75/overcommit
Tags
0.26.0 release = New Features * Add `EmptyMessage` commit-msg hook that reports commits messages that are empty or contain only whitespace * Add `env` hook configuration option that allows you to set values for environment variables during the course of a particular hook's run = Bug Fixes * Fix handling of paths with spaces in the name * Fix `CaseConflicts` pre-commit hook to not fail on initial commit * Fix handling of files removed or renamed in a commit amendment
0.25.0 release * Include SVG files in `ImageOptim`, `XmlLint`, and `XmlSyntax` pre-commit hooks by default * Make `IndexTags` hooks quiet by default * Add `Vint` pre-commit hook that checks Vim script with [Vint](https://github.com/Kuniwak/vint) * Add `Scalariform` pre-commit hook that checks formatting of Scala code with [Scalariform](https://mdr.github.io/scalariform/) * Add `SlimLint` pre-commit hook that analyzes Slim templates with [Slim-Lint](https://github.com/sds/slim-lint) * Enhance `HardTabs` and `TrailingWhitespace` pre-commit hooks to including line information in errors, making it work as expected when `problem_on_unmodified_line` is set to something other than `report` * Fix handling of changing a symlink to a directory on commit amendment so it is not included in the list of modified files for pre-commit hooks * Rename `Rubocop` pre-commit hook to `RuboCop` to match the project's proper name * Handle empty commit messages in `CapitalizedSubject`, `SingleLineSubject`, `HardTabs`, `TextWidth`, and `TrailingPeriod` commit-msg hooks
0.24.0 release = New Features * Add `required_library`/`required_libraries` hook option which specifies a list of paths a hook should load with `Kernel.require` before running * Add `JsLint` pre-commit hook that checks the style of JavaScript files with [JSLint](http://www.jslint.com/) * Add `RubyLint` pre-commit hook that statically analyzes Ruby files with [ruby-lint](https://github.com/YorickPeterse/ruby-lint) * Add `Jsl` pre-commit hook that checks the style of JavaScript files with [JavaScript Lint](http://www.javascriptlint.com/) * Add `CapitalizedSubject` commit message hook * Add `GoVet` pre-commit hook that examines Go source files with [vet](https://godoc.org/golang.org/x/tools/cmd/vet) * Add `XmlSyntax` pre-commit hook to check that XML files are valid * Add `CaseConflicts` pre-commit hook which checks for file names in the same directory which differ by letter casing * Preserve existing git hooks in a repository when installing Overcommit hooks, and restore them on uninstall * Add `RSpec` pre-push hook that runs [RSpec](http://rspec.info/) tests before pushing to remote * Add `ProtectedBranches` pre-push hook that prevents destructive pushes (deletions or force pushes) to specified branches * Add `SpellCheck` commit-msg hook to check commit messages for misspelled words * Add support for `pre-rebase` hooks * Add `SubmoduleStatus` `post-checkout`, `post-commit`, `post-merge`, and `post-rewrite` hooks that warn when submodules are uninitialized, out of date with the current index, or contain merge conflicts = Changes * Disable `ShellCheck` pre-commit hook by default * Switch `ImageOptim` hook to use executable instead of Ruby API * Improve `CoffeeLint` pre-commit hook to differentiate between errors and warnings * Improve `GoLint` pre-commit hook to extract file and line information * Change configuration loading behavior to prefer user-defined `ALL` hook configuration over default `ALL` configuration, and user-defined hook configuration over default `ALL` configuration * Change hook summary message to mention warnings if there were any * Disable almost all hooks by default. You will now need to explicitly enable almost all hooks yourself in your `.overcommit.yml`. If you are migrating from `overcommit` 0.23.0 and want to use the default configuration that shipped with that version, copy the [default configuration from 0.23.0](https://github.com/brigade/overcommit/blob/9f03e9c82b385d375a836ca7146b117dbde5c822/config/default.yml) * Update `ScssLint` pre-commit hook to properly handle special exit code that signals all files were filtered by exclusions (new as of `scss-lint` 0.36.0) * Update `childprocess` dependency to minimum 0.5.6 * Change default value for `problem_on_unmodified_line` from `warn` to `report` * Update `Rubocop` pre-commit hook to pass `--display-cop-names` flag so cop names appear in output * Drop support for returning `:good`/`:bad` results from hooks (was deprecated in 0.15.0) * Remove `PryBinding` pre-commit hook since its functionality is provided by the `Rubocop` pre-commit hook = Bug Fixes * Fix `LocalPathsInGemfile` to not report lints for commented paths * Fix `CssLint` pre-commit hook to ignore blank lines in `csslint` output * Fix error instructions typo in `BundleCheck` pre-commit hook * Fix bug where stashed changes were not restored when plugin signature validation failed * Don't clear working tree after pre-commit hook when only submodule changes are present * Restore file modification times of unstaged files in addition to staged files in pre-commit hook runs
0.23.0 release = New Features * Add pre-commit [ESLint](http://eslint.org/) hook * Add pre-commit hooks for [standard](https://github.com/feross/standard) and [semistandard](https://github.com/Flet/semistandard) JavaScript linters * Add support for `post-commit`, `post-merge`, and `post-rewrite` hooks * Add `GitGuilt` `post-commit` hook to display changes in blame ownership for modified files * Add `execute_in_background` helper to provide a standardized way to start long-running processes without blocking the hook run * Add `IndexTags` hook for `post-commit`, `post-merge`, and `post-rewrite` hook types so tags index can always be kept up to date via `ctags` * Add `W3cCss` and `W3cHtml` pre-commit hooks which integrate with the `w3c_validator` gem * Add `Scalastyle` pre-commit hook that runs [scalastyle](http://www.scalastyle.org/) against Scala code * Add `XmlLint` pre-commit hook to check XML files with [xmllint](http://xmlsoft.org/xmllint.html) * Add `JavaCheckstyle` pre-commit hook to check style of Java files with [checkstyle](http://checkstyle.sourceforge.net/) * Add `Pep8` pre-commit hook to check Python files with [pep8](https://pypi.python.org/pypi/pep8) * Add `Pyflakes` pre-commit hook to check Python files with [pyflakes](https://pypi.python.org/pypi/pyflakes) * Add `Pep257` pre-commit hook to check Python files with [pep257](https://pypi.python.org/pypi/pep257) * Add `HtmlTidy` pre-commit hook to check HTML files with [tidy](http://www.html-tidy.org/) * Add `Pylint` pre-commit hook to check Python files with [pylint](http://www.pylint.org/) = Changes * Parse JSHint errors more precisely * Remove `JsxHint` and `Jsxcs` pre-commit hooks in favor of using the `required_executable` option on the JsHint and Jscs pre-commit hooks * Change behavior of configuration options containing array values to always replace the old value instead of appending to it * Change `ImageOptim` hook to fail instead of warn if the `image_optim` gem cannot be found * Remove `ctags_arguments` option from `IndexTags` hooks * Improve `PythonFlake8` pre-commit hook to differentiate between errors and warnings * Improve `CssLint` pre-commit hook to differentiate between errors and warnings = Bug Fixes * Fix `--run` flag to consider all lines in all files as modified rather than none * Fix `--run` flag to exclude submodule directories from the list of modified files * Fix handling of files with spaces in their name when calculating modified lines in a file
0.22.0 release * Disable `Reek` pre-commit hook by default * Allow `required_executable` to include paths that are in the repo root * Add `command` hook option allowing the actual command that is executed to be configured (useful to invoke command via `bundle exec` or similar) * Add `flags` hook option allowing the flags passed on the command line to be configured
0.21.0 release * Change `HardTabs`, `MergeConflicts`, and `PryBinding` pre-commit hooks to be `quiet` by default * Switch `TravisLint` pre-commit hook from deprecated `travis-lint` gem to `travis` gem * Add .projections.json configuration file * Add pre-commit static analysis and linting for sh/bash scripts with [ShellCheck](http://www.shellcheck.net/) * Use `--verbose` flag when running JSCS to include name of offending rule
0.20.0 release * Add `--run` flag which runs all configured pre-commit hooks against the entire repository * Fix installer to work with Overcommit hooks created via `GIT_TEMPLATE_DIR` * Fix hook runner to not display skip message unless hook would have actually run * Change `ImageOptim` hook to use `skip_missing_workers` option and update dependency to 0.18.0 * Remove interactive prompt support from overcommit hooks * Change hook signing from interactive flow to be done via `overcommit --sign <hook-type>` command
0.19.0 release * Add `--no-pngout` flag for `image_optim` command on `:fail` message * Fix `Brakeman` pre-commit hook when multiple files have been staged * Reset modification times more frequently when cleaning up the environment after running pre-commit hooks. This should help overcommit work with file watchers a little more nicely. * Add pre-commit JavaScript style checking with [JSXCS](https://github.com/orktes/node-jsxcs) * Add pre-commit Ruby code smell checking with [Reek](https://github.com/troessner/reek) * Gracefully handle `.git` files that point to an external git directory
0.18.0 release * Update minimum version of `image_optim` gem to 0.15.0 (breaking change in name of exception classes) * Add `--list-hooks` flag which displays all hooks for a repository and whether they are enabled/disabled * Add `required_executable` and `install_command` options that allow a hook to define an executable that must be in the `PATH` in order for it to work, and a command the user can use to install the executable if it doesn't exist * All built-in hooks will now fail if the required executable is not present * Fix bug where pre-commit hook would crash if user attempted to commit a broken symlink * Add `BrokenSymlinks` pre-commit hook which checks for broken symlinks * Fix Chamber integration * Fix 'include' path for ChamberSecurity * Fix bug where commit message from cherry-picked commit would be lost if there were conflicts
0.17.0 release * Change commit hook header text to bold instead of bold white so that it displays on terminals with a white background * Add support for `OVERCOMMIT_DISABLE` environment variable, which when set prevents Overcommit hooks from running * Fix bug that prevented RailsSchemaUpToDate from working in directories that contained decimals * Warn when trying to pipe commands using the `execute` helper, as this is not supported * Include both standard out/error streams in exception messages in pre-commit hook context
PreviousNext