¿Cómo puedo usar Gitstats para averiguar cuántos SLOC tiene un repositorio GIT en total y por comodidad? [cerrado

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

  •  25-10-2019
  •  | 
  •  

Pregunta

Acabo de instalar Gitstats, y estoy en ese punto donde tengo que decir: "Ahora, ¿qué?". Veo ejemplos en el sitio de las líneas de código de usuario, etc., pero no hay ejemplos de cómo obtener estadísticas simples como esa. No necesito una tabla ni nada. Solo quiero poder obtener la salida de los resultados en una lista de usuarios -> líneas de código o algo así. Cualquier ayuda es muy apreciada.

¿Fue útil?

Solución

Actualización (11 de julio de 2014)

No estoy seguro de qué versión había instalado cuando respondí por primera vez esta pregunta, pero la última versión me dio una authors.html archivo cuando corrí gitstats /path/to/repo/.git /path/to/output/dir/ Eso contenía exactamente la información que estaba buscando.

Respuesta original

Encontré bastante simple. Solo escribes:

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

Emite todo el informe con gráficos, navegación a través de pestañas, etc.

Nota: No puede saber cuántas líneas ha contribuido cada usuario (al menos con la versión de Gitstats que un apt-get install gitstats me consiguió). La salida fue útil y es una excelente manera de aprender sobre su base de código y sus contribuyentes. Hice lo siguiente, para obtener el número de líneas de un usuario en particular:

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

Luego, utilicé Python para analizar los datos (ya que había cientos de compromisos):

>>> 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()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top