Subject: [RFC] Ideas for new "stats" view in gitweb

From: Jakub Narebski <[email-masked]>
Date: Sun, 15 Oct 2006 17:17:18 +0200

Jakub Narebski wrote:

> Jakub Narebski wrote:
> 
>>  * Graph of number of changed files in given branch; probably should be
>>    cached.
> 
> See for example StatCVS and FishEye
>   http://www-128.ibm.com/developerworks/java/library/j-statcvs/
>   http://statcvs.sourceforge.net/statcvs-stats/
> 
>   http://fisheye.codehaus.org/browse/activecluster

See also StatCVS-XML (http://statcvs-xml.berlios.de) and SvnStat
(http://svnstat.sourceforge.net), both derivatives of StatCVS, with
a few plots/charts added. If you know other graphical SCM statistics
tools, please mention them.

Would additional "stats" view help? Does some bit of stats help (well,
besides diffstat in commitdiff; perhaps later graphical diffstat in
gitweb)?

For example all (I think) above projects include plot of "size" (usually in
lines of code) of repository versus time, sometimes split into few top
authors or few top subdirectories; sometimes limited to some subdirectory or
even to some file only, together with the plot of "commit volume" (usually
number of commits per unit, e.g. number of commits per day, but it could be
numbers of files changed and/or number of lines added/deleted) vs time.
Tags are marked on the time scale. This supposedly helps to realize if
project/part of project/individual file is in development, refactoring or
maintenace stage. And graph with different top authors plotted using
different lines visualises which were active during which point of project
history. I'm not sure what "commit volume" plot tells us.

Next there are various tables and plots gathering statistics about authors:
lines of code + percentage, numbers of changes (commits) + percentage,
average number of lines per change, ratio of modifications to adding new
code. Git has git-shortlog for creating similar summary. That probably
helps to realize who takes what part in development of project. And there
can be similar tables, charts and plots but with module/subdirectory/file
instead of author. For example top files with respect to size, changes,
or number of revisions in history.

Then there are IMVHO not very useful (except for satisfying idle curiosity)
histograms of activity (either number of commits, or number of changed
lines) per hour of day, or per day of week, or per month of year (in older
projects).

There are some other plots, charts, tables, graphs... Please do tell which
ones would be good to have in gitweb.

BTW. we most certainly would have to use some cache I guess... and we have
just removed the need for temporary files for creating diffs...
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git