* pre-commit: use local hooks
* pre-commit: don't run dvc in parallel
By default pre-commit will try to run hooks in parallel, which results
in some dvc instances failing to acquire repo locks.
Fixes#3751
* Initial design of using pre-commit for Git hooks
* Refactor to reuse existing code and provide merge capabilities
* Linter fixes
* More cleanup
* scm: make use_precommit_tool optional
* dvc: install our own hooks
* install: fix typo
* install: fix bugs in pre-commit integration
* install: don't forget 'always_run' for post-checkout
* install: no need to run pre-commit install if conf file doesn't exist
* install: fix bugs
* install: use python hooks
* add .pre-commit-hooks.yaml
Co-authored-by: Andrew Hare <[email protected]>
Co-authored-by: Ruslan Kuprieiev <[email protected]>