Skip to content

pgularski/git-guilt

 
 

Repository files navigation

https://travis-ci.org/mattboyer/git-guilt.svg?branch=master https://coveralls.io/repos/mattboyer/git-guilt/badge.svg?branch=master Code Health Latest Version Download format Supported Python versions

git-guilt

git-guilt is a custom tool written for the Git Source Code Management system. It aims to provide information regarding the transfer of ownership between two revisions of a repository. Think of it as a first-order derivative of git-blame!

git-guilt is a Python port of Tim Pettersen's JavaScript tool of the same name.

Screenshot

docs/screenshot.png

Installation

git-guilt does not require any dependency beside Python and Git (and argparse in case your version of Python doesn't include it). To install, simply type:

pip install git-guilt

You can also clone this repository and run the following from your working copy:

python setup.py install

Why use git-guilt?

  • git-guilt can be used to identify code reviewers. Authors whose overall ownership of the repository decreases for a given commit will often have valuable feedback to provide during a code review. Yesterday's design decisions may still be relevant today. And even if they're not, this is a great opportunity to learn from past mistakes!
  • Likewise, git-guilt can be used to run periodic audits on the ownership of code in a repo. Middle managers love this stuff!

Documentation and usage

Please read the docs.

Notes

Unit tests and integration tests are run for every commit. git-guilt is tested on Python 2.6, 2.7, 3.3 and 3.4.

git-guilt tries to be Unicode-friendly. There are tests for non-Latin character support in author names, repository paths and terminal output.

To-Dos

git-guilt has only been tested on Linux so far. I expect some work to be needed to port terminal handling code to MacOS X. Support for Microsoft Windows would likely require more work.

About

A Python port of Tim Pettersen's git guilt

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%