martes, 20 de noviembre de 2012

Listar quenes contribúen nun repositorio GIT segundo o número de commits [Twitcode XVI][Bash]

Inda que sexa un pouco indiscreto e so vaia a amosar o número de commits e non a contribución real...

git log|grep Author|sort|uniq -c|sort -nr|awk -F ': ' '{print $2}'

Ou engadindo `| head -n 20` pra so amosar as primeiras 20 posicións.

Por exemplo, sobre o repositorio de midori (un navegador web lixeiro) [ git://git.xfce.org/apps/midori ]


$ git log|grep Author|sort|uniq -c|sort -nr|awk -F ': ' '{print $2}'|head -n 20
Christian Dywan <christian@twotoasts.de>
Paweł Forysiuk <tuxator@o2.pl>
Alexander Butenko <a.butenka@gmail.com>
Enrico Tröger <enrico.troeger@uvena.de>
David Štancl <dstancl@dstancl.cz>
Sergio Marques <smarquespt@gmail.com>
Yarema aka Knedlyk <yupadmin@gmail.com>
Per Kongstad <p_kongstad@op.pl>
André Stösel <andre@stoesel.de>
Dale Whittaker <dayul@users.sf.net>
Masato Hashimoto <cabezon.hashimoto@gmail.com>
Boram Kim <boramism@gmail.com>
Ivica  Kolić <ikoli@yahoo.com>
Masato Hashimoto <hashimo@xfce.org>
Chipong Luo <chipong_l@yahoo.com>
Cristian Marchi <cri.penta@gmail.com>
Pjotr Anon <pliniusminor@gmail.com>
Piotr Sokół <psokol@jabster.pl>
Leandro Regueiro <leandro.regueiro@gmail.com>
mbouzada <mbouzada@gmail.com>

`git log|grep Author` amosa as liñas cos autores, tipo...
Author: nome <email>

Pasalo por `|sort|uniq -c` fai que primeiro xunte as entradas similares e engada o principio o número de ocurrencias de cada unha, resultando en algo así:
número_de_aparicións Author: nome <email>

`|sort -nr` utiliza o número de aparicións para a orde.

E no final `|awk -F ': ' '{print $2}'` divide a liña en dúas partes no ': ' e toma a segunda.


ps: Se vos gusta enredar coas visualizacións de repositorios pode que querades botarlle unha ollada a `gource`, é bastante curiosa.

Saúdos

No hay comentarios:

Publicar un comentario