¿Cómo puedo usar Gitstats para averiguar cuántos SLOC tiene un repositorio GIT en total y por comodidad? [cerrado
-
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.
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()