如何仅在本地修改的文件上运行PC-lint(不在SVN服务器上进行)



我正在尝试编写脚本以在用户而不是整个项目上的本地修改文件上运行PC-lint静态分析仪工具。

为此,我需要在所有本地修改的文件上运行Lint命令

使用SVN状态

 svn status -u | grep -w M 

命令我获取具有其完整路径的本地修改文件列表

例如,如果本地修改的文件是asn1_common_elements.c,则上述svn命令将输出为 M 10014 Imparachations asn1der src asn1_common_elements.c

现在,我需要仅采用文件名asn1_common_elements.c,然后将其与LINT命令一起使用LINT asn1_common_elements.log(而不是.c需要更改为.log)我该如何实现?

您可以使用makefile的能力仅使编译器仅编译更改的文件。

在makefile中做类似的事情:

# Create object from C source code
file.o: file.c
    gcc                -c $(CFLAGS) -o $@
    wine lint-nt.exe   file.c

现在,只有在更改时,文件才会被分析。

最新更新