--diff, по-видимому, неправильно вычисляет дельты при сравнении каталогов
Мы используем cloc.pl для целей анализа. А также cloc
оказался очень полезным, когда мы просто считали строки кода. Но сейчас мы пытаемся получить разницу между двумя ветвями.
Используя документацию, указанную в ссылке выше, я пытаюсь получить diff:
perl cloc.pl --diff branch-1.0/ExampleClass.java branch-2.0/ExampleClass.java
Это дает идеальный результат для одного файла и правильно отображает измененные строки. То же самое верно и для других значений, таких как удаленные, добавленные и так далее.
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Java
same 0 0 209 294
modified 1 0 170 12
added 0 0 647 1
removed 0 5 64 46
-------------------------------------------------------------------------------
SUM:
same 0 0 209 294
modified 1 0 170 12
added 0 0 647 1
removed 0 5 64 46
-------------------------------------------------------------------------------
Но теперь, когда я пытаюсь добиться того же результата для полной ветви, то есть для всех файлов в папке, выдавая что-то вроде этого:
perl cloc.pl --diff branch-1.0\ branch-2.0\
Теперь приходит проблема.
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Java
same 0 0 0 0
modified 0 0 0 0
added 0 110 2408 789
removed 1 32 443 352
-------------------------------------------------------------------------------
SUM:
same 0 0 0 0
modified 0 0 0 0
added 0 110 2408 789
removed 1 32 443 352
-------------------------------------------------------------------------------
Как вы можете видеть, когда я пытаюсь выполнить команду на уровне папки, все измененное количество комментариев показывает 0. Все, что у нас есть - это добавленные или удаленные строки кода или файлы.
Не уверен, что я пропускаю что-то глупое или любую проблему с cloc
инструмент. Я использую версию 1.56.
1 ответ
Эта проблема была решена в версии 1.6. Что помогло мне двигаться вперед. Видимо это ошибка с версией 1.56. Также я перешел на использование встроенного "cloc-1.6.exe"
Еще одна вещь, которую я нашел в этом отношении, - это то, что можно найти больше блога / обсуждения, связанных с помощью / поддержкой, на http://sourceforge.net/p/cloc/bugs/ который действительно помог в моем случае.