Commit Entropy is a tool that can be used to calculate the entropy of changes in a source code repository. Entropy for code changes is a measure of how specific each commit was in relation to the entire code base. Very specific commits only affect a small set of files, and thus have a low entropy. Commits that touch a large number of files are much less specific and have a higher entropy as a result.
The term Entropy in this context is a simplified application of Shannon Entropy to commits in a source repository. It’s simplified since we only look at the number of files changed each commit, with each file having an equal probability.
Read more about entropy on our blog.
pip install commit-entropy
This will install the commit-entropy executable on your path.
If you don’t have pip, you can install it manually by cloning the code and running the install script:
git clone email@example.com:GripQA/commit-entropy.git cd commit-entropy python setup.py install
Currently we support a single operation: exporting a csv file with the average entropy per day and a 30-day rolling average. From within a git repo:
This will output a entropy.csv file in the current directory with the average entropy values.
You can ignore a list of paths by using the --ignore option:
commit-entropy csv --ignore=vendor/*,*.log