Найдено результатов: 1

Как я могу построить график строк истории кода для git РЕПО?

В принципе, я хочу получить номер lines-of-code в репозитории после каждого коммита.

Единственный (действительно дерьмовый) способ, который я нашел, - это использовать git filter-branch для запуска wc -l * , а сценарий, который запускает git reset --hard на каждом коммите, затем запускает wc -l

Чтобы было немного понятнее, когда инструмент запускается, он выводит строки кода самого первого коммита, затем второго и так далее. Это то, что я хочу, чтобы инструмент вывел (в качестве примера):

me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542

Я поиграл с библиотекой ruby 'git', но ближе всего я нашел метод .lines() на diff, который, похоже, должен давать добавленные строки (но не дает: он возвращает 0, когда вы удаляете строки, например)

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

python   ruby   git   lines-of-code    

478   4   01:05, 29th August, 2020