Как создать данные 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 и нашел его очень полезным. Если вы должны позволить себе руководствоваться метриками.;-)