This is a coaching tool for Git intended help identify codependent pieces of code.
Python Shell
Switch branches/tags
Nothing to show
Latest commit d12a593 Nov 14, 2013 @tarmstrong tarmstrong Merge pull request #17 from mhoye/progress-bar
Add progress bar to gitlearn

Closes #15
Permalink
Failed to load latest commit information.
docs
gitcoach
tests
.gitignore
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
Makefile
README.rst
requirements.txt
setup.py
tox.ini

README.rst

gitcoach

https://badge.fury.io/py/gitcoach.png https://travis-ci.org/tarmstrong/gitcoach.png?branch=master https://pypip.in/d/gitcoach/badge.png

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.

Installation

The easiest way to install gitcoach is through pip:

$ pip install gitcoach

Usage

To generate the prediction data, run gitlearn. This might take a long time, especially when using large values for --max-commit-values

usage: gitlearn [-h] [--max-commit-files MAX_COMMIT_FILES]

Generate coaching data for gitcoach.

optional arguments:
  -h, --help            show this help message and exit
  --max-commit-files MAX_COMMIT_FILES, -n MAX_COMMIT_FILES
                        Commits touching more than N files are thrown away

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)