嵌套git存储库的声纳扫描仪分析结果错误

问题描述

SonarQube服务器7.9.1
SonarQube扫描仪3.2.0.1227
Java 1.8.0_121 Oracle Corporation(64位)
Linux 4.15.0-112通用amd64

我正在使用声纳扫描仪来分析我的源代码。我意识到,对于2个工作副本,我在服务器上得到了不同的结果,并且想知道为什么。我比较了两次运行的扫描仪日志,并在第二个工作副本中检测到此信息:

INFO: SCM provider for this project is: git

以下目录结构应解释工作副本之间的差异,而第二个目录是基本存储库的分支:

└── Work1
    ├── .git
    ├── build
    |   └── config1
    ├── sonar-project.properties
    └── src

└── Work2
    ├── .git
    ├── build
    |   └── config2
    |       └── .git
    ├── sonar-project.properties
    └── src

我从构建文件夹(Work1/build/config1 $> make sonar -> cd Work1; sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner...)中开始分析我的第一份工作副本,扫描仪在其中找到sonar-project.properties。执行分析没有任何问题,报告显示出完美的结果。

从分支开始分析-也从其构建文件夹中-(Work2/build/config2 $> make sonar -> cd Work2; sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner...)开始,分析不会给人留下任何错的印象。结果存储在服务器上,但报告包含可疑结果。

作为示例,下图显示了一个源文件的区别: 左侧是来自基础存储库(Work1/src/...)的文件,右侧是相同文件,但来自分支(Work2/src/...


File comparison


我的印象是,由于第二次分析运行日志缺少INFO: SCM provider for this project is: git,因此无法将Work2/build/config2/.git分配/关联到从Work2/src获取的来源。

我的假设正确吗?

我试图明确地设置选项-Dsonar.scm.provider=git -Dsonar.projectBaseDir=Work2/online documentationhere,但没有运气。 如何更改SCM提供程序的基本文件夹?

解决方法

在 sonar-project.properties 文件中添加:
sonar.scm.disabled=true
或使用
-Dsonar.scm.disabled=true
来自 cli

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...