Подтвердить что ты не робот

Как я могу использовать gitstats, чтобы узнать, сколько SLOC a Git репо имеет в общей сложности и для каждого участника?

Я только что установил GitStats, и я нахожусь в тот момент, когда должен сказать: "Теперь, что?". Я вижу примеры на сайте пользовательских строк кода и т.д., Но нет примеров того, как получить такую ​​же статистику. Мне не нужна диаграмма или что-то еще. Я просто хочу уметь выводить результаты в список пользователей → строк кода или что-то в этом роде. Любая помощь очень ценится.

4b9b3361

Ответ 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()