gpt4 book ai didi

git - Sonar 5.0 SCM 插件无法归咎于 git 子模块中的源导致分析失败

转载 作者:太空狗 更新时间:2023-10-29 14:23:22 25 4
gpt4 key购买 nike

我的 C++ 项目在子模块中包含源代码库,并且正在使用 Sonar 商业 C++ 插件。我想分析所有的来源。

父项目需要访问子模块中的一些头文件(和编译的库),因此通过使用子模块,我可以很容易地固定(并因此编译)正确的库版本。

例如./main.c 包含#include sub/someinclude.h

其中 sub 是包含 git 子模块的目录

在启用 SCM 的情况下使用 Sonar 进行分析时,我得到:

INFO: -----------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: -----------------------------------------------------------------------
Total time: 2:17.478s
Final Memory: 27M/617M
INFO: -----------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Unable to blame file sub/someinclude.h. No blame info at line 1. Is file commited?

Sonar 似乎未能执行 git blame ,可能是因为它试图引用 projectBaseDir 而不是当前文件目录,并且 someinclude.h 不在父 git 存储库中。

我已经尝试了几个放置在父模块和子模块甚至外部的多项目 Sonar 属性文件配置,但找不到一个有效的。

这看起来像是一个正常的用例,所以任何人都可以提出解决方案或者这是一个需要修复的错误/限制吗?

最佳答案

我刚刚遇到了同样的问题;没有任何 blame 信息,因为文件可能未被跟踪。

如果您运行“git status”,sub/someinclude.h 是否未提交?要么提交它,要么尝试将它添加到 .gitignore。就我而言,我只是提交了文件,Sonarqube 就开始工作了。

关于git - Sonar 5.0 SCM 插件无法归咎于 git 子模块中的源导致分析失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28388784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com