2015-02-09 4 views
1

У меня возникают проблемы с выполнением анализа сонара (Sonar Runner v2.4 и SonarQube 5.0) с SVN на компьютере с Windows 7.Ошибка сонара SCM нет данных вины в строке 1

я получаю следующее сообщение об ошибке:

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 : [email protected][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) 

Ссылка на sonar-project.properties:http://pastebin.com/xnFyPz67

Ссылка на sonar.properties:http://pastebin.com/q6TaGZQG

+0

Выполняется расследование в списке рассылки пользователей SQ. –

+0

См. Также: https: // stackoverflow.com/q/28740785/59087 –

ответ

0

Выпуск был вызван исходный файл в вопросе с которые несут невидимые символы UTF-16, которые моя версия SVN-вины не поддерживала при выводе на XML.

Изменение кодировки исходного файла на ANSI и повторная фиксация исправлены.

0

У меня была такая же проблема, и в моем случае это было связано с корпусом на имя файла. Имя файла, сообщенное обратно от Sonar, имело несколько символов в другом случае, чем то, что фактически хранилось в файловой системе (Windows, git), например. myFile.cs vs myfile.cs Я обновил их, чтобы соответствовать, и проблема исчезла.

0

У меня была та же проблема. Я удалил папку сонарного кеша и выполнил git push, наконец, был исправлен. Так странно. Я думаю, что это проблема с кешем сонара и кешем git.

1

Я использую GIT, и у меня тоже такая же проблема. Я удалил файл из репозитория и снова переместил его в репозиторий. Это сработало для меня.

+0

Это должен быть комментарий –

4

У меня была аналогичная проблема:

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 так, чтобы она всегда проверяла ветви с глубиной = 1 (чтобы получить время).