Easily install and update centralized pre-commit hooks and their configuration files in decentralized repositories
Project description
Centralized pre-commit configuration
Easily install and update centralized pre-commit hooks and their configuration files in decentralized repositories.
To be able to validate and automatically fix commits we're using git hooks.
We're also heavily relying on pre-commit, which is a framework for managing
and maintaining multi-language pre-commit hooks. Please refer to the
pre-commit documentation here.
Philosophy
In order to be able to install all the tools and linters in a single
command with up to date configuration, we're copying the configurations
files of your tools (.pre-commit-config.yaml, isort.cfg, .flake8,
.clang-format, ...) from an URL to your local git directory and we
then install pre-commit.
Installation
pip3 install centralized-pre-commit-conf
Usage
See pre-commit-conf --help for options.
Installing hooks
For example with this config.yaml in one of the appropriate
search paths:
configuration_files :
- ".pylintrc"
- ".pre-commit-config.yaml"
repository: https://mycompany.net/lint-conf/
branch: master
path: "pre-commit/static/"
gitignore_info_text: "# Configuration file added automatically by 'centralized-pre-commit-conf'"
pre-commit-conf would recover the defined configuration files from
https://mycompany.net/lint-conf/master/pre-commit/static/ and update the .gitignore:
✨ Successfully retrieved .pre-commit-config.yaml ✨
✨ Successfully retrieved .pylintrc ✨
✨ Updated .gitignore successfully with {'.pre-commit-config.yaml', '.pylintrc'}. ✨
🎉 2 configuration files recovered and pre-commit installed correctly. 🎉
Here would the content of the .gitignore:
# Configuration file added automatically by 'centralized-pre-commit-conf'
.pre-commit-config.yaml
.pylintrc
Then with the same configuration, using pre-commit-conf --branch hardcore-pylint-conf would try to recover
the configuration files from https://mycompany.net/lint-conf/hardcore-pylint-conf/pre-commit/static/ instead.
Found existing .pre-commit-config.yaml ⁉️ Use '-f' or '--replace-existing' to force erase.
Found existing .pylintrc ⁉️ Use '-f' or '--replace-existing' to force erase.
All configuration files already existed.
Next commit supposing the .pre-commit-config.yaml is done correctly
your modified files we be linted with the centralized configuration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file centralized_pre_commit_conf-0.2.3-py3-none-any.whl.
File metadata
- Download URL: centralized_pre_commit_conf-0.2.3-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb0d3f08f3c65285d5892f89171631df908d4b2842a3dfcf02061a826ebc6719
|
|
| MD5 |
053054a31d913769dfe2689395c7d4e6
|
|
| BLAKE2b-256 |
89dbc02e701c1d674eeeae3d3a8f2deb62e9b1206a54d5d5160054122c790c88
|