Skip to content

default_stages should be split up into 2 options #451

Open
@sandydoo

Description

@sandydoo

Currently, default_stages controls two things:

  1. The stages that each hook supports by default. As a result, all of our hooks don't even support the manual stage, unless one overrides this option. In pre-commit, this is set to all stages.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions