git-hooks.nix
git-hooks.nix copied to clipboard
`default_stages` should be split up into 2 options
Currently, default_stages controls two things:
- The stages that each hook supports by default. As a result, all of our hooks don't even support the
manualstage, unless one overrides this option. In pre-commit, this is set to all stages. - Which hooks are installed.
This combination makes it difficult to allow all of our hooks to run in any stage by default, without also installing all of them. Unfortunately, fixing this looks like a breaking change.
pre-commit now has a new option: default_install_hook_types. This matches the installation semantics of our current default_stages.
And default_stages is then only used as a fallback for when hooks don't specify any stages.