Gitlearn and gitcoach are a pair of tools for helping me, and hopefully other people, better understand large projects living in Git by trying to identify codependent pieces of code.
The easiest way to install gitcoach is through pip:
$ pip install gitcoach
To generate the prediction data, run gitlearn. This might take a long time:
usage: gitlearn [-h] Generate coaching data for gitcoach. optional arguments: -h, --help show this help message and exit
The gitcoach utility:
usage: gitcoach [-h] [--file FILE] [--commit COMMIT] [--threshold THRESHOLD] Find co-dependent files based on git history. Two files are co-dependent if they have been modified in the same commits often enough. optional arguments: -h, --help show this help message and exit --file FILE, -f FILE Find suggestions for a specific file --commit COMMIT, -c COMMIT Find suggestions for files modified in a specific commit. --threshold THRESHOLD, -t THRESHOLD Threshold for co-incidence ratio (default=0.8).
Example output of gitcoach:
Here are some files you might want to look at: travis.yml suggested by README.rst (0.500000) tox.ini suggested by README.rst (0.500000) setup.py suggested by README.rst (0.500000) requirements.txt suggested by README.rst (0.500000)