A couple tricks for stats

From Yade

Revision as of 19:15, 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

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
  Dominik Boemer  added lines: , removed lines: , total lines: 
  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

*.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