Comment puis-je utiliser gitstats pour savoir combien SLOC une prise en pension Git a au total et par commiter? [fermé]

StackOverflow https://stackoverflow.com/questions/9301759

  •  25-10-2019
  •  | 
  •  

Question

Je viens d'installer GitStats , et je suis à ce moment-là où je dois dire: « Maintenant, quoi? ». Je vois des exemples sur le site de lignes utilisateur de code, etc., mais pas d'exemples de la façon d'obtenir de simples stats comme ça. Je ne suis pas besoin d'un tableau ou quoi que ce soit. Je veux juste être en mesure de sortie de la console les résultats dans une liste des utilisateurs -> lignes de code ou quelque chose. Toute aide est très appréciée.

Était-ce utile?

La solution

Mise à jour (11 e Juillet, 2014)

Je ne sais pas quelle version j'avais installé quand je répondu à cette question, mais la dernière version m'a donné un fichier authors.html quand je courais gitstats /path/to/repo/.git /path/to/output/dir/ qui contenait exactement les informations que je cherchais.

Réponse originale

Il est assez simple, je l'ai trouvé. Vous tapez simplement:

gitstats /path/to/the/repo.git --outputpath=directory_where_you_want_the_output

Il transmet le rapport complet avec des cartes, la navigation par onglets, etc.

Remarque: Vous ne pouvez pas dire combien de lignes chaque utilisateur a contribué (au moins avec la version de gitstats qu'un apt-get install gitstats m'a). La sortie a été utile, et est un excellent moyen d'apprendre sur votre base de code et ses collaborateurs. Je l'ai fait ce qui suit, pour obtenir le nombre de lignes d'un utilisateur particulier:

git log --author="Some Author <Some.Author@example.com>" --oneline --shortstat > some_author.txt

Ensuite, j'utilise Python pour analyser les données (car il y avait des centaines de commits):

>>> import re
>>> file = open('some_author.txt', 'r')
>>> adds, dels = 0, 0
>>> for line in file.readlines():
...     am, dm = re.search(r'\d+(?= insertions)', line), re.search(r'\d+(?= deletions)', line)
...     if am is not None:
...         adds += int(am.group())
...         dels += int(dm.group())
... 
>>> adds, dels
(5036, 1653)
>>> file.close()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top