Как создать данные LOC в Git?

Я хочу отслеживать улучшение проекта с течением времени в git.

Мне нужна строка кода статистики по времени. Например.

Time        LOC
-----       -----
01/01/2015 29021
01/08/2015 29987
......

Gitstats выдаёт какую-то странную ошибку. Поэтому мне нужна другая альтернатива.

Есть идеи?

2 ответа

Вот начало идеи.

У вас может быть небольшой скрипт, который проверяет ссылку и выводит все содержимое недвоичного кода с помощью:

#!/bin/sh
# catAll.sh
git checkout $1;
for i in `git grep --cached -Il ''`; do
    cat $i
done

Затем труба, которая выводит wc чтобы получить LOC:

catAll.sh | wc -l

Получить дату коммита с:

git show -s --format=%ci <sha>

Затем (и это может занять много времени в зависимости от размера вашего репо) запустите команду с HEAD, HEAD~, HEAD~~, так далее.

Это потребует небольшого количества сценариев, чтобы собрать все это вместе, но может быть заключено в красивую команду, чтобы выплевать последние, скажем, 5 точек фиксации.

Я бы предложил https://github.com/AlDanial/cloc.

Я использовал его, когда он был на Sourceforge и нашел его очень полезным. Если вы должны позволить себе руководствоваться метриками.;-)

Другие вопросы по тегам