Как вывести разницу в исходных файлах с 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 правильно считает строки? Есть ли возможность вывести фактическую разницу обоих файлов, чтобы я мог визуально проверить и понять, почему результаты обеих программ не совпадают?

1 ответ

Решение

Вы можете получить представление о том, что 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 показывает способ добавления операторов отладки в инструмент, чтобы показать некоторые из них, но результат не очень приятный.

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