Come posso utilizzare gitstats per scoprire quanti SLOC un repo Git ha in totale e per commiter? [chiuso]

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

  •  25-10-2019
  •  | 
  •  

Domanda

Ho appena installato GitStats , e io sono a quel punto in cui devo dire, "Ora, cosa?". Vedo esempi sul sito di linee di codice utente, ecc, ma non esempi di come ottenere statistiche semplici come quella. Non ho bisogno di un grafico o nulla. Voglio solo essere in grado di console di output i risultati in un elenco di utenti -> righe di codice o qualcosa del genere. Ogni aiuto è molto apprezzato.

È stato utile?

Soluzione

Update (11 Luglio, 2014)

Non sono sicuro di quale versione avevo installato quando ho risposto a questa domanda, ma la versione più recente mi ha dato un file authors.html quando mi sono imbattuto gitstats /path/to/repo/.git /path/to/output/dir/ che conteneva esattamente le informazioni che cercavo.

risposta originale

E 'piuttosto semplice, ho trovato. Basta digitare:

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

E 'in uscita l'intero rapporto con i grafici, la navigazione tramite schede, ecc.

Nota: non è possibile dire quante linee di ogni utente ha contribuito (almeno con la versione di gitstats che un apt-get install gitstats mi ha fatto). L'uscita era utile, ed è un ottimo modo per conoscere la vostra base di codice e dai suoi collaboratori. Ho fatto la seguente, per ottenere il numero di righe di un particolare utente:

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

Poi, ho usato Python per analizzare i dati (in quanto vi erano centinaia di commit):

>>> 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()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top