art with code

2010-05-13

Git commit stats

Tonight I wrote a little tool in Ruby to print out stats based on git log output. See the project page on GitHub. (Hey, apparently there's a ready-made tool for this. And it has the same name too! Better change the name of my script to gitnuts.)

Here are the weird things it tells about my commits on a project:

Commits: 1365
Changed files: 2483
Changed files per commit: 1.8
Total added lines: 86277
Total deleted lines: 22628
Total changed lines: 108905
Added per commit: 63.2
Deleted per commit: 16.6
Changed per commit: 79.8

Changed lines per commit
Bucket size: 10
Bar step size: 9
0 *********************************************************** 538
10 ******************** 187
20 ***************** 161
30 ********** 98
40 ******* 68
50 ****** 62
60 **** 43
70 *** 33
80 * 14
90 ** 18
100 * 17
110 * 15
120 ** 21

Commits per month
Bar step size: 7
2008-01 ***** 35
2008-04 **************** 117
2008-05 **************************************************** 367
2008-06 ********************************************************** 411
2008-07 ******************************************** 313
2008-08 **************************************** 286
2008-09 ********************* 148
2008-10 ** 15
2009-01 *** 22
2009-02 **** 32
2009-10 ************* 92
2009-11 *********** 77
2009-12 * 9
2010-01 ****************************************** 295
2010-02 ********** 71
2010-03 ************ 89
2010-04 * 13
2010-05 ********** 76

Commits per weekday
Bar step size: 7
0-Sun ***************************************** 291
1-Mon ****************************************** 298
2-Tue ********************************************* 317
3-Wed ********************************************************** 406
4-Thu ********************************************************** 408
5-Fri ********************************************************* 404
6-Sat *************************************************** 359

Commits per hour of day
Bar step size: 3
0 ************************************************ 145
1 ******************************************************* 165
2 ************************************ 108
3 ********************************** 103
4 ***************************************** 124
5 **************************************** 121
6 ************** 42
7 ****************** 54
8 ******************* 57
9 ************ 37
10 *************** 46
11 ******************** 62
12 *************************** 82
13 ********************** 68
14 ********************************** 104
15 *********************************** 107
16 ************************************ 109
17 ********************************** 103
18 *************************************** 118
19 ********************************************* 135
20 **************************************** 122
21 ****************************************** 127
22 ****************************************************** 164
23 ************************************************************ 180

How about some chartjunk courtesy of R? Check color identifies commit author, y-axis is log10 of change size + 1, x-axis is time in seconds from epoch. The lines are lowess smoothings of the raw data.

Post a Comment

Blog Archive

About Me

My photo

Built art installations, web sites, graphics libraries, web browsers, mobile apps, desktop apps, media player themes, many nutty prototypes, much bad code, much bad art.

Have freelanced for Verizon, Google, Mozilla, Warner Bros, Sony Pictures, Yahoo!, Microsoft, Valve Software, TDK Electronics.

Ex-Chrome Developer Relations.