4 ms·
I once spent a weekend hacking together something like this. http://jarofgreen.co.uk/2011/04/introducing-creepycoder/ http://jarofgreen.co.uk/2011/04/introduci
by jarofgreen 15y ago
I once spent a weekend hacking together something like this.
http://jarofgreen.co.uk/2011/04/introducing-creepycoder/ 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 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.
- jarofgreen 15y agoThis was the talk ... http://www.edinburgh.bcs.org/events/2010-11/110411.htm http://www.edinburgh.bcs.org/events/2010-11/110411.htm
- masklinn 15y ago> http://jarofgreen.co.uk/2011/04/introducing-creepycoder/ 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)
- jarofgreen 15y agoCool, 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.