如何使用 cloc 输出源文件中的差异?
how do I output the difference in source files with 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 是否正确计算行数?是否有任何选项可以输出两个文件的实际差异,以便我可以直观地检查并理解为什么两个程序的结果不匹配?
您可以了解 cloc 认为这两个文件之间的不同之处,方法是让 cloc 从文件中去除评论,然后对 code-only 文件进行视觉差异:
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 应将 diff 工具标记的任何内容识别为代码更改计数的差异。
cloc 没有显示差异比较内部结构的选项。
https://github.com/AlDanial/cloc/issues/152 展示了一种在工具中添加调试语句的方法以显示其中的一些内容,但输出并不漂亮。
我正在使用以下命令使用 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 是否正确计算行数?是否有任何选项可以输出两个文件的实际差异,以便我可以直观地检查并理解为什么两个程序的结果不匹配?
您可以了解 cloc 认为这两个文件之间的不同之处,方法是让 cloc 从文件中去除评论,然后对 code-only 文件进行视觉差异:
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 应将 diff 工具标记的任何内容识别为代码更改计数的差异。
cloc 没有显示差异比较内部结构的选项。 https://github.com/AlDanial/cloc/issues/152 展示了一种在工具中添加调试语句的方法以显示其中的一些内容,但输出并不漂亮。