The tool that helps you make commit messages in your repository more clear.
- Wide check list: author name, email, trailing periods, capitalize sentence, singleline summary, singoff, gpg, regex.
- Checks any commit range: acceptable for both CI and post-commit hook usage
- Separate rules for both: merge and regular commits
- Support all available python versions: 3.7+
Install any supported python distribution (for now it's 3.7+), and pip package management tool. Also make sure you have git installed
Examples:
sudo apt install python3 python3-pip git
sudo yum install python3 git
By default, pip tries to install package directly to you system. You may need to use sudo to achieve this
sudo pip3 install dikort
The more right way is to install to your home directory. But be sure you have $HOME/.local/bin
at your $PATH
variable
pip3 install --user dikort
Dikort is a command line tool. To see all available options with explanation hit dikort -h
.
The only one unnamed option is commit range in the notation of "<commit1>..<commit2>"
, where "commit1"
and "commit2"
are any of:
hash, branch, tag, HEAD pointer.
dikort HEAD~1..HEAD
dikort HEAD~10..HEAD
dikort master..fix-123
dikort --enable-length --enable-capitalized-summary --min-length=20 --max-length=72 HEAD~5..HEAD
dikort --enable-logging --logging-level=DEBUG 2>debug.log
Also you can run inside docker. Just mount your repository to container and tell dikort where to find.
docker run -v `pwd`:/tmp/repo weastur/dikort:latest --repository=/tmp/repo --enable-length
Refer to config example, as a full configuration file. By default, config searched at ./.dikort.cfg
Dikort is in active development and accepts contributions. See our Contributing section below for more details.
We report new releases information here.
Fork, clone, setup development environment. No third-party build or test tools need to be insttalled at your system.
python3 -m venv .venv
. ./.venv/bin/activate
pip install setuptools wheel
pip install -e '.[dev]'
After that you'll have dikort and all development tools installed into virtualenv. Just run here dikort
to execute your development version.
Hack, then make PR. Don't forget to write unit tests, and check your code:
dikort
flake8 dikort
isort dikort
black dikort
coverage run -m unittest discover
coverage report
Or you can just install git-hooks
ln -s -r -t ./.git/hooks/ ./hooks/*
MIT, see LICENSE.