Je pensais que ce serait soigné s'il était possible de prendre un référentiel git, exécutez un script et de générer le nombre de lignes dans la base de code et la proportion de chaque auteur qui lui a contribué. P >
Fondamentalement, parce que je suis un type de codeur compétitif, je voudrais une métrique personnelle de voir si le nombre de lignes que j'ai écrites (dans la tête actuelle) est supérieure à celle de mon partenaire. Ce serait une statistique amusante de dire "j'ai écrit% du code de code actuel". P>
Quelqu'un a-t-il déjà pensé faire cela? J'ai cherché un moyen, mais mon script de shell n'est pas le meilleur, alors je ne pouvais donc pas le faire seul. P>
3 Réponses :
Vous pouvez utiliser le journal git, comme illustré dans " Les statistiques de GIT valident sont faciles à tirer ". P >
ou vous pouvez regarder git Projet Lookatgit , qui inspecte le nombre de lignes modifiées , comme on le voit dans son gitauthor.rb code> classe a>. p>
Vous pouvez essayer d'analyser la sortie de git-blame code > . Cette commande donne à la dernière personne qui a édité chaque ligne d'un fichier.
Cet exemple n'est pas exactement ce que vous voulez, mais je pense que cela vous donne l'idée: P>
git ls-files | while read f; do git blame -e $f; done | awk -F '<|>' '{print $2}' | sort | uniq -c
Vous avez probablement besoin gitdm , il peut faire exactement ce dont vous avez besoin. Nous l'utilisons pour le projet Mahara pour produire statistiques de contribution .
Juste Faites ce que README suggère: P>
une ligne de commande typique utilisée pour générer le "qui écrivez 2.6.x" lwn Les articles ressemblent à: p>
git log -p -M v2.6.19..v2.6.20 | gitdm -u -s -a -o results -h results.html
Je suis sûr que vous avez déjà entendu celui-ci avant: "La mesure de la programmation Les progrès de la programmation par des lignes de code sont comme mesurer les progrès de la construction d'aéronefs en poids."
@Etaoin: J'aurais aimé pouvoir +1000. :-)