Fondamentalement, je veux obtenir le nombre de lignes de code dans le dépôt après chaque commit.
Le seul (vraiment merdique) les moyens que j'ai trouvé est d'utiliser git filter-branch de la course "wc-l *", et un script qui git reset --hard sur chaque commit, puis a couru wc-l
Pour le rendre un peu plus claire, lorsque l'outil est exécuté, il est de sortie les lignes de code de la première validation, puis le deuxième et ainsi de suite.. c'est Ce que je veux de l'outil de production (à titre d'exemple):
me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542
J'ai joué avec le ruby 'git' de la bibliothèque, mais le plus proche que j'ai trouvé était à l'aide de l' .lignes() la méthode sur un diff, qui semble comme il devrait donner les lignes ajoutées (mais n'est pas.. elle renvoie 0 lorsque vous supprimez des lignes par exemple)
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