как вывести разницу в исходных файлах с помощью cloc?

Я считаю строки с помощью cloc, используя эту команду:

cloc --ignore-case --ignore-whitespace --diff src-copy/file.c src/file.c

и он говорит мне, что я добавил 103 строки.

Когда я считаю тот же файл с помощью «git diff», он говорит мне, что я добавил 136 строк:

git diff --stat --ignore-blank-lines -w src-copy/file.c src/file.c

Как я могу убедиться, что cloc правильно считает строки? Есть ли возможность вывести фактическую разницу между обоими файлами, чтобы я мог визуально проверить и понять, почему результаты обеих программ не совпадают?


person Nulik    schedule 12.09.2016    source источник


Ответы (1)


Вы можете понять, что, по мнению cloc, отличается между двумя файлами, если cloc убирает комментарии из файлов, а затем выполняет визуальное сравнение файлов только с кодом:

  cloc --strip-comments nc --original-dir src-copy/file.c src/file.c
  vimdiff src-copy/file.c.nc src/file.c.nc

(или замените vimdiff на инструмент по вашему выбору). Это, по крайней мере, устранит различия в комментариях. Все, что помечено вашим инструментом сравнения, должно быть распознано cloc как разница в подсчете изменений кода.

cloc не имеет возможности показать внутренности сравнения различий. https://github.com/AlDanial/cloc/issues/152 показывает способ чтобы добавить операторы отладки в инструмент, чтобы показать некоторые из них, но вывод не очень красивый.

person AlDanial    schedule 10.02.2017