A couple tricks for stats

From Yade

Revision as of 19:38, 4 March 2015 by Bchareyre (talk | contribs)

Number of lines per author in current HEAD (from stackoverflow):

 git ls-files -z | xargs -0n1 git blame -w | perl -n -e '/^.*?\((.*?)\s+[\d]{4}/; print $1,"\n"' | sort -f | uniq -c | sort -n

Number of commits per author (all times):

 git shortlog -sne

keep only commits on a time interval:

 git shortlog --after ={2011-01-01} -sne

Results 4 March 2015 (git.ef867c6af325):

   (emails removed)
   806  Anton Gladky <gladky.anton|a|gmail.com>
   541  Bruno Chareyre <bruno.chareyre|a|hmg.inpg.fr>
   161  Christian Jakob <jakob|a|ifgt.tu-freiberg.de>
   111  Jan Stránský <jan.stransky|a|fsv.cvut.cz>
    99  Chao Yuan <chaoyuan2012|a|gmail.com>
    99  Jerome Duriez <jerome.duriez|a|3sr-grenoble.fr>
    51  Francois Kneib <francois.kneib|a|gmail.com>
    35  Klaus Thoeni <klaus.thoeni|a|gmail.com>
    25  Donia Marzougui <donia.marzougui|a|hmg.inpg.fr>
    24  Václav Šmilauer <eudoxos|a|arcig.cz>
    21  Chiara Modenese <c.modenese|a|gmail.com>
    16  Emanuele Catalano <catalano|a|hmg.inpg.fr>
    16  Luc Sibille <luc.sibille|a|3sr-grenoble.fr>
    15  Alexander Eulitz <alexander.eulitz|a|iwf.tu-berlin.de>
    15  Luc Scholtes <lscholtes63|a|gmail.com>
    11  Janek Kozicki <janek|a|kozicki.pl>
     9  Raphael Maurin <raph_maurin|a|hotmail.com>
     9  Rémi Cailletaud <remi.cailletaud|a|hmg.inpg.fr>
     9  Sergei Dorofeenko <sj2001|a|yandex.ru>
     8  T Sweijen <thomasje100|a|outlook.com>
     4  Nolan Dyck <ndyck|a|uwo.ca>
     2  Ning GUO <ceguo|a|connect.ust.hk>
     1  Burak Er <burak.er|a|btu.edu.tr>
     1  Dominik Boemer <dominik.boemer|a|gmail.com>
     1  fifthguy <tzfifthguy1|a|gmail.com>


Lines changed per file type (one-liner), suggested meaningful types are "grep -E '*.cpp|*.hpp|*.in|*.rst|*.cmake|*.txt|*.bib|*.ipp'" or just "*.rst" for doc:

  git log --after={2011-01-01} --format='%aN' | sort -u | while read name; do\
  echo -en "$name\t"; git log --after={2011-01-01} --author="$name"
  --pretty=tformat: --numstat | grep -E \
  '*.cpp|*.hpp|*.in|*.rst|*.cmake|*.txt|*.bib|*.ipp' | awk '{ add += $1;\
  subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

Results 4 March 2015 (git.ef867c6af325):

  Alexander Eulitz        added lines: 54, removed lines: 36, total lines: 18
  Anton Gladky    added lines: 28036, removed lines: 29436, total lines: -1400
  Bruno Chareyre  added lines: 187459, removed lines: 188748, total lines: -1289
  Burak Er        added lines: 935, removed lines: 0, total lines: 935
  Chao Yuan       added lines: 7377, removed lines: 6896, total lines: 481
  Chiara Modenese added lines: 656, removed lines: 254, total lines: 402
  Christian Jakob added lines: 7639, removed lines: 4943, total lines: 2696
  Donia Marzougui added lines: 1253, removed lines: 887, total lines: 366
  Emanuele Catalano       added lines: 928, removed lines: 820, total lines: 108
  Francois Kneib  added lines: 3181, removed lines: 930, total lines: 2251
  Janek Kozicki   added lines: 345, removed lines: 385, total lines: -40
  Jan Stránský    added lines: 1511, removed lines: 1249, total lines: 262
  Jerome Duriez   added lines: 1543, removed lines: 810, total lines: 733
  Klaus Thoeni    added lines: 1143, removed lines: 466, total lines: 677
  Luc Scholtes    added lines: 1484, removed lines: 920, total lines: 564
  Luc Sibille     added lines: 4586, removed lines: 2027, total lines: 2559
  Ning GUO        added lines: 8255, removed lines: 0, total lines: 8255
  Nolan Dyck      added lines: 109, removed lines: 50, total lines: 59
  Raphael Maurin  added lines: 443, removed lines: 57, total lines: 386
  Rémi Cailletaud added lines: 84, removed lines: 36, total lines: 48
  Sergei Dorofeenko       added lines: 233, removed lines: 312, total lines: -79
  T Sweijen       added lines: 297, removed lines: 26, total lines: 271
  Václav Šmilauer added lines: 2494, removed lines: 734, total lines: 1760

Commits to the documentation (rst only):

  git log --after={2011-01-01} --format='%aN' | sort -u | while read name; do echo -en "$name\t";\
  git log --after={2011-01-01} --author="$name" --pretty=tformat: --numstat | grep -E '*.rst' |\
  awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
  Alexander Eulitz        added lines: 41, removed lines: 23, total lines: 18 
  Anton Gladky    added lines: 577, removed lines: 558, total lines: 19
  Bruno Chareyre  added lines: 655, removed lines: 471, total lines: 184
  Christian Jakob added lines: 117, removed lines: 57, total lines: 60
  Emanuele Catalano       added lines: 3, removed lines: 3, total lines: 0
  Francois Kneib  added lines: 7, removed lines: 3, total lines: 4
  Jan Stránský    added lines: 92, removed lines: 59, total lines: 33
  Jerome Duriez   added lines: 236, removed lines: 32, total lines: 204
  Klaus Thoeni    added lines: 18, removed lines: 17, total lines: 1
  Sergei Dorofeenko       added lines: 1, removed lines: 1, total lines: 0
  Václav Šmilauer added lines: 898, removed lines: 0, total lines: 898