【问题标题】:CLOC --diff and --exclude-dir don't seem to work togetherCLOC --diff 和 --exclude-dir 似乎不能一起工作
【发布时间】:2018-02-16 20:45:36
【问题描述】:

我正在尝试将两个目录与​​多个子文件夹进行比较。这是我的 CLOC 脚本:

cloc-1.76.exe --diff test_initial test_latest --timeout 60 --exclude-dir=ZC_DATA --out=results.txt

两个文件夹都有一个 ZC_DATA 目录。在 test_initial 中它是空的,在 test_latest 中有几个 C 和 XML 文件,因此需要计算大量代码。

我所经历的是,无论有没有开关 exclude-dir=ZC_DATA,我得到的结果完全相同,完全没有区别。

我需要一种方法来包含或排除此文件夹以获得不同的结果。 请指教。

问候, 先生。

【问题讨论】:

    标签: cloc


    【解决方案1】:

    例如,如果您直接计算其中一个输入目录,

    cloc-1.76.exe --timeout 60 --exclude-dir=ZC_DATA --out=results.txt test_latest
    

    有和没有--exclude-dir=ZC_DATA 计数会改变吗?对第二个目录 test_initial 重复两次调用,并报告那里是否也存在差异。

    【讨论】:

    • 感谢 AlDanial,谜团解开了:我需要增加超时时间才能使排除开关正常工作。顺便说一句,您能否在输出文件中包含类似“警告:计数期间发生超时”的消息?这样就可以立即知道存在问题并且计数不准确?
    • 另外:你能实现类似 --diff-timeout 0 的东西吗?设置零超时来告诉程序使用不确定的时间来正确计算。
    • 我通过提交github.com/AlDanial/cloc/commit/…实现了你的建议
    【解决方案2】:

    我正在尝试使用--diff--exclude-list-file 执行cloc 命令,结果中不会忽略包含在 .clocignore 中的文件。

    这里是 cmd:

    os.system{'cloc --diff {} {} --exclude-list-file=.clocignore --by-file --out={} --csv'.format (directory1, directory2, output.loc)}
    

    .clocignore 文件内容:

    /tmp/workspace/directory2/myfile.cpp
    

    注意:此特定文件 (myfile.cpp) 出现在 directory2 中,但在 directory1 中不存在。

    如果diff directory1 - directory2 不成功,因为directory1 中的某些文件不存在,结果是:directory2 中的行数,没关系!

    但是, 它不排除 ..clocignore 中包含的文件

    为什么 --exclude-list-file=.clocignore 在这种情况下不起作用? 谢谢,

    【讨论】:

    • 似乎这本身就是一个问题?也许单独发布而不是作为答案?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 2013-07-06
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多