feat(check-case-conflict): implement builtin hook #888
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Description
Implementing the
check-case-conflicthook which ensures you don't check in files that would be the same on case-insensitive file systems (I think this is a Windows thing).This is a widely used hook, 4.8k repos on grep.app.
gitfunction to mirror the equivalent one in the Python original implementation.Binary Size Change
+0.63% (.text: 16.0 MiB → 16.1 MiB)
Demo
The most popular repo with this hook is jupyter/notebook
The hook takes 0.08s to run on pre-commit and 0.12s on prek (50% slower)
After installing from this local feature branch version, it runs instantly 🎉