Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve performance by ignoring submodules #1704

Merged
merged 1 commit into from Nov 20, 2020

Commits on Nov 20, 2020

  1. Improve performance by ignoring submodules

    When git status runs in a repo with submodules, it'll recursively run
    git status in every submodule as well by default (sequentially).
    git status is substantially slower on Windows than on Linux. git diff
    behaves similarly to git status in terms of running recursively within
    all submodules. In repos with hundreds of submodules, this quickly adds
    up when git status/diff are called multiple times. Pre-commit runs
    git status once at the beginning of an operation and then runs git diff
    before and after each hook. These calls quickly add up and make
    pre-commit unusable in large repos with lots of submodules.
    
    This commit drastically improves performance in repos with lots of
    submodules and fixes pre-commit#1701 by telling git status and git diff to ignore
    submodules. This change is not expected to have any negative effect on
    existing hooks because each submodule should manage its own hooks
    instead of relying on superproject hooks to manipulate their contents.
    Vynce committed Nov 20, 2020
    Copy the full SHA
    120d602 View commit details
    Browse the repository at this point in the history