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