我遇到了一些问题,在Windows7机器上执行声纳分析(SonarRunnerV2.4和SonarQube 5.0)。
我得到以下错误:
java.lang.IllegalStateException: Unable to blame file DataTypes/TtCallPackagePlanType.cs. No blame info at line 1. Is file commited?
当我使用-X标志执行声纳跑步时,它会告诉我,声纳正在执行以下责备命令:
svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallPackagePlanType.cs
但是,当我自己在同一位置的命令提示符中运行该命令时,我会得到一个完整的XML文件,您可以在这个链接中看到:
http://pastebin.com/U2TjxLTs
SVN版本为1.8.10,在执行声纳运行程序之前,我在完整目录上运行了svn upgrade。
我不明白SVN插件与指责数据有什么关系。
我不能附上完整的日志,因为对于站点(和pastebin)来说,它太大了,但是这里有(我认为是)相关的行:
01:18:49.335 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallDirection.cs
01:18:49.381 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallOrigin.cs
01:18:49.413 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallOutcome.cs
01:18:49.803 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallPackagePlanType.cs
01:18:49.912 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallReason.cs
01:18:49.959 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallRecordOutcome.cs
01:18:49.974 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallRecordValidity.cs
01:18:50.068 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallValidity.cs
01:18:50.463 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtChargeEnquiryReportDataType.cs
01:18:50.494 DEBUG - Release semaphore on project : org.sonar.api.resources.Project@1b4cf3[id=1,key=icharge:latest,qualifier=TRK], with key batch-sonar:test
01:18:50.512 DEBUG - Executing: svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCheckOutNumberDetails.cs
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 35.833s
Final Memory: 22M/115M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalStateException: Unable to blame file DataTypes/TtCallPackagePlanType.cs. No blame info at line 1. Is file commited?
at org.sonar.plugins.scm.svn.SvnBlameConsumer.consumeLine(SvnBlameConsumer.java:135)
at org.sonar.api.utils.command.CommandExecutor$StreamGobbler.consumeLine(CommandExecutor.java:191)
at org.sonar.api.utils.command.CommandExecutor$StreamGobbler.run(CommandExecutor.java:177)链接到声纳-Project.properties: http://pastebin.com/xnFyPz67
链接到sonar.properties: http://pastebin.com/q6TaGZQG
发布于 2015-02-10 10:43:20
问题是由包含不可见的UTF-16字符的源文件引起的,我的SVN版本在输出到XML时不支持这些字符。
将源文件的编码更改为ANSI并重新提交此代码。
发布于 2017-02-09 13:28:01
我也有过类似的问题:
ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Unable to blame file <path_to_the_file>
...
Caused by: org.eclipse.jgit.api.errors.JGitInternalException: Missing commit <sha1_of_commit>在我的例子中,这是由于浅层克隆。我有jenkins作业设置,它总是以depth =1的方式签出分支(以获得时间)。
发布于 2017-01-07 09:30:28
我正在使用GIT,我也有同样的问题。我已将文件从存储库中删除,并再次将其推送到存储库。对我起作用了。
https://stackoverflow.com/questions/28412122
复制相似问题