bin+lib git-anger-management

Count your naughty words in git commit messages

8 releases (breaking)

0.7.0 May 12, 2020
0.6.0 Dec 27, 2018
0.5.1 Nov 9, 2018
0.4.0 Oct 18, 2018
0.1.0 Oct 14, 2018

#1898 in Command line utilities

21 downloads per month

GPL-3.0-or-later

30KB
303 lines

git-anger-management pipeline Crates.io Docs.rs

What

Have you ever wondered just how angry your co-workers and/or yourself are? Or just how naughty the commit log for a project is? Worry no more, git-anger-management is here to help you. Simply run it against your repository and it'll tell you who is the naughtiest of them all.

asciicast

Why

We all have those moments where we finally figured out why something was utterly broken, wrong or both and then had nowhere to scream but to our git commit. I do it all the time, and I wanted to know just how angry I am at my code.

Installation

Make sure you have Rust installed (I recommend installing via rustup), then run cargo install git-anger-management. You can now check how naughty you are by running git anger-management in your repository root where you want to gaze upon the authors naughtiness.

Usage

Simply run the command git anger-management and you should get some output that looks something like this:

$ git anger-management
Author         bitch  bloody  damn  fuck  fucking  shitty  Total
------         -----  ------  ----  ----  -------  ------  -----
John Doe       0      1       1     0     0        0       2
Ola Nordmann   1      0       0     0     1        0       2
Sondre Nilsen  0      0       0     1     1        1       3
------         -----  ------  ----  ----  -------  ------  -----
Overall        1      1       1     1     2        1       7

You can also look in other directories if you want to look somwhere else but you're too lazy to actually cd into that directory. Finally, you can also print the output as JSON if you want to further manipulate the data by adding the -j/--json flag to the binary:

$ git anger-management --json
{"name":"repo","total_commits":5,"total_curses":7,"curses":{"bloody":1,"shitty":1,"fuck":1,"bitch":1,"damn":1,"fucking":2},"authors":{"Sondre Nilsen":{"name":"Sondre Nilsen","total_commits":3,"total_curses":3,"curses":{"shitty":1,"fucking":1,"fuck":1}},"Ola Nordmann":{"name":"Ola Nordmann","total_commits":1,"total_curses":2,"curses":{"bitch":1,"fucking":1}},"John Doe":{"name":"John Doe","total_commits":1,"total_curses":2,"curses":{"damn":1,"bloody":1}}}}

Finally, you can also look at the help by running git anger-management -h for more options.

License

GPLv3 or later.

Dependencies

~13MB
~285K SLoC