Сколько строк кода изменено за период времени? - PullRequest
24 голосов
/ 08 октября 2009

Мне было поручено выяснить, сколько строк кода я написал в этом году. Не очень захватывающе по ряду причин, но, похоже, это могло бы сделать хороший вопрос SO.

Итак, как вы можете сказать, сколько строк кода было изменено в вашем любимом инструменте контроля версий? В моем конкретном ответе пустые строки и комментарии имеют значение, чтобы упростить время, отведенное для определения ответа, но не стесняйтесь уточнять.

В моем конкретном случае я использую svn, поэтому я собираюсь избавиться от всех --- и других выводов misc, которые выводят svn log и svn diff.

Ответы [ 8 ]

28 голосов
/ 08 октября 2009

Использовать StatSVN . Я использую его на работе, и это здорово, он разложит LOC на месяц. Он будет рисовать симпатичные графики, сообщать вам, в какой день недели и в какое время вы проверяете большинство кода. Он скажет вам точно, что вам нужно знать.

10 голосов
/ 28 мая 2012

Самое простое решение:

svn diff -x --ignore-eol-style -x -w http://svn/tags/releases/1.0 http://svn/tags/releases/2.0/ |diffstat

это очень элементарно и не исключает вставки пустых строк и т. Д., Но, может быть, это достаточно хорошо?

4 голосов
/ 14 ноября 2014

Попробуйте использовать метрику Hits-of-Code (которая делает именно то, что вы ищете). Вы можете собрать данные, используя это hoc, объясненное в этом сообщении в блоге: Хиты кода вместо SLoC

3 голосов
/ 08 октября 2009

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

1 голос
/ 22 октября 2011

Я также пытался решить задачу типа «сколько строк было удалено, добавлено или просто изменено за выбранный период времени». Поэтому я написал простой сценарий оболочки (только для Linux). Он собирает некоторые статистические данные о модификациях кода. Более подробную информацию и общий сценарий вы можете найти здесь:

http://cyber -fall.blogspot.com / 2011/10 / инструменты-линукс-СВН-сгенерировать-statistic.html

Надеюсь, это поможет вам и другим!

0 голосов
/ 04 апреля 2013

Если вы застряли на cvs:

cvs annotate > annotate.txt
rem remove the portion before the name
sed "s/^[0-9. (]*//" annotate.txt > annotate2.txt
rem remove the portion after the name
sed "s/[ ].*$//" annotate2.txt > annotate3.txt
sort annotate3.txt > annotate4.txt
uniq -c annotate4.txt > annotate5.txt

http://jamesjava.blogspot.com/2007/01/who-has-changed-most-lines-in-cvs.html

0 голосов
/ 08 октября 2009

Если вы используете subversion, вы можете использовать команду svn log с ключом --xml, и вы можете извлечь строки кода оттуда. Вы можете увидеть параметры журнала svn, используя svn help log. Так как ваш вывод - xml, вы можете пройти через этот xml и собрать количество строк в коде и перейти оттуда.

0 голосов
/ 08 октября 2009

В Clearcase возьмите спецификацию конфигурации и добавьте:

time  <date-time>
<rules for choosing branches or labels>
end time

Сделайте второй взгляд и сравните их. Если несколько разработчиков работают над одними и теми же файлами, я понятия не имею. Я не могу сказать, что в восторге от использования Clearcase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...