git - 仅从 'git diff' 获取静态代码分析器消息?

标签 git pylint

在我们的构建系统中(源代码在 git 版本控制下),我想获取每个静态代码分析器(pylint,在本例中)消息 build 。我希望它们是增量的:在新的构建报告中,只显示新提交引入的消息。

我可以轻松获得“旧”和"new"提交。然后,一般路径是在"new"提交上运行分析器,然后,对于带有消息的每个源代码行,查找该行是否是新的/修改的,或者它是否与“旧”提交保持一致。然后,仅打印来自新的/修改的行的消息。

pylint 是否有更简单的方法来实现这一目标?或者是否有类似的现有实现?

最佳答案

您可以获得在提交之间更改的文件列表,然后将其传递给 pylint。使用 github pullrequest 工作流程,它看起来像这样:

git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD master) | grep .py | xargs pylint

关于git - 仅从 'git diff' 获取静态代码分析器消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27486658/

相关文章:

git - 新 git 存储库的默认配置设置?

远程裸机上的 Git 子模块

python - Pylint 的 "Too few public methods"消息是什么意思?

python - 如何打破 .pylintrc 文件中的长行?

python-3.x - time.struct_time 难以忍受的不透明性

git - 无法在git中添加文件名不同大小写的文件原因

陈旧分支的 git merge 或 rebase?

git - 将 Github 与 Pythonanywhere 同步

python-3.x - 有没有办法指示 Pylint 哪些库应该被视为第 3 方?

python - 如何使用 pylint 1.8.2 生成 html 报告以在 gitlab-ci 页面中发布?