Skip to content

Comment on Personal Git Commit Statistics

Comments

I once spent a weekend hacking together something like this.

http://jarofgreen.co.uk/2011/04/introducing-creepycoder/

The code was done over several quick sessions (there's a visualisation of that in the link above) so it's really scrappy, but it pulls out the timestamps of a programmers commits and presents that in several different formats. It uses Github API or just SVN log.

https://github.com/jarofgreen/CreepyCoder

I agree with you that LOC is not really a great metric.

Next I was going to look at separating variables in the data & comparing them - eg, see two programmers commit habits side-by-side.

I've also been to a talk by a company that pulled stats from commit logs, will try to find it and post it.

> http://jarofgreen.co.uk/2011/04/introducing-creepycoder/

hg has a pretty great extension shipped with it doing that kind of stats collecting: churn. Git might have something similar already, no?

For instance, your graphs 2 and 3 (commits by hour of day and commits by day of week) can be obtained through the following (tested on pypy's repo):

    > hg -R pypy churn -csf "%H"
    00    850 **************                                                        
    01    534 *********
    02    385 ******
    03    299 *****
    04    202 ***
    05    181 ***
    06    217 ***
    07    449 *******
    08   1336 *********************
    09   2421 ***************************************
    10   2893 ***********************************************
    11   3295 *****************************************************
    12   3277 *****************************************************
    13   3596 **********************************************************
    14   3915 ***************************************************************
    15   4105 ******************************************************************
    16   3955 ****************************************************************
    17   3812 *************************************************************
    18   3259 ****************************************************
    19   2091 **********************************
    20   1713 ****************************
    21   1630 **************************
    22   1466 ************************
    23   1225 ********************

    > hg -R pypy churn -csf "%u"
    1   6985 ************************************************************           
    2   7741 *******************************************************************
    3   7594 ******************************************************************
    4   7404 ****************************************************************
    5   7470 *****************************************************************
    6   5213 *********************************************
    7   4699 *****************************************
(-c counts changesets rather than diff lines; -s sorts by aggregation key rather than resultcount; -f aggredates on an strftime-like dateformat)

Cool, never used hg, thanks. Git might have a module; I've never seen it if it does. However, having it separate to git means we can pull in other data to build up a complete picture of the users activity - the comments made in an issue tracker for instance.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.