Encontre seus colaboradores mais produtivos

Projetos de código aberto podem ficar grandes rapidamente, e o problema só piora à medida que você adiciona colaboradores. Git torna bastante fácil descobrir quem são seus committers mais comuns

$ git shortlog -ns
121 Pieter van de Bruggen
21 Daniel Sauble
18 Randall Hansen
1 Matt Robinson

… Mas descobrir quem é o autor do maior número de linhas do seu projeto é um pouco mais complicado. Ainda é possível, no entanto.

$ cat git-authorship
git ls
-files -z |
xargs
-0 -n1 -E'n' -J {} git blame --date short -wCMcp '{}' |
perl
-pe 's/^.*?((.*?) +d{4}-d{2}-d{2} +d+).*/1/' |
sort
|
uniq
-c |
sort
-rn

$ bash git
-authorship
1397 Pieter van de Bruggen
59 Matt Robinson
54 Daniel Sauble

É importante notar que esta invocação de xargsé específica para BSD, xargspor exemplo, no OS X; para UNIX xargs, os sinalizadores serão um pouco diferentes. Também estou menos do que perfeitamente feliz em depender do Perl para isso, mas ei – sou pragmático.

Nenhuma dessas métricas é um bom indicador de produtividade; como qualquer outro artefato mensurável, eles podem ser jogados com bastante facilidade. Tenha muito cuidado ao usar essas métricas de forma punitiva, ou você receberá o que merece.