Я только что установил GitStats, и я нахожусь в тот момент, когда должен сказать: "Теперь, что?". Я вижу примеры на сайте пользовательских строк кода и т.д., Но нет примеров того, как получить такую же статистику. Мне не нужна диаграмма или что-то еще. Я просто хочу уметь выводить результаты в список пользователей → строк кода или что-то в этом роде. Любая помощь очень ценится.
Как я могу использовать gitstats, чтобы узнать, сколько SLOC a Git репо имеет в общей сложности и для каждого участника?
Ответ 1
Обновление (11 июля 2014 г.)
Я не уверен, какую версию я установил, когда я впервые ответил на этот вопрос, но последняя версия дала мне файл authors.html
, когда я запустил gitstats /path/to/repo/.git /path/to/output/dir/
, который содержал именно ту информацию, которую я искал.
Оригинальный ответ
Это довольно просто, я нашел. Вы просто набираете:
gitstats /path/to/the/repo.git --outputpath=directory_where_you_want_the_output
Он выводит весь отчет с диаграммами, навигация через вкладки и т.д.
Примечание. Вы не можете указать, сколько строк предоставил каждый пользователь (по крайней мере, с версией gitstats, которую получил apt-get install gitstats
). Результат был полезен, и это отличный способ узнать о вашей базе кода и ее вкладчиках. Я сделал следующее, чтобы получить количество строк конкретного пользователя:
git log --author="Some Author <[email protected]>" --oneline --shortstat > some_author.txt
Затем я использовал Python для анализа данных (поскольку было сотни коммитов):
>>> 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()