Básicamente quiero obtener el número de líneas de código en el repositorio después de cada confirmación.¿Cómo puedo representar gráficamente el historial de líneas de código para git repo?
Las únicas maneras (realmente horrible) que he encontrado es utilizar git filter-branch
para funcionar wc -l *
, y un script que se ejecuta git reset --hard
en cada confirmación, a continuación, se ejecuta wc -l
Para que sea un poco más claro, cuando la herramienta está ejecutar, generará las líneas de código de la primera confirmación, luego la segunda y así sucesivamente. Esto es lo que quiero que la herramienta de salida (como ejemplo):
[email protected]:~/$ gitsloc --branch master
10
48
153
450
1734
1542
He jugado un poco con el rubí 'git' biblioteca, pero el más cercano que encontré fue con el método .lines()
en un diff, que parece que debería dar a las líneas añadidas (pero no: devuelve 0 cuando se elimina líneas, por ejemplo)
require 'rubygems'
require 'git'
total = 0
g = Git.open(working_dir = '/Users/dbr/Desktop/code_projects/tvdb_api')
last = nil
g.log.each do |cur|
diff = g.diff(last, cur)
total = total + diff.lines
puts total
last = cur
end
efectivamente produce un gráfico de # de líneas pero es bastante pequeño. –
(@omouse - también emite un # de líneas por archivo de datos de fecha, que puede graficar en una aplicación de su elección) – Rich