Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-63634

Blaming does not work with multiple Git repositories

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • warnings-ng-plugin
    • None

      Sorry, but the source path option doesn't help in case of multiple git repositories.
      I've tried it in following way:

      echo 'recordIssues for Platform'
      recordIssues sourceDirectory: 'Platform', enabledForFailure: true, sourceCodeEncoding: 'UTF-8', tool: msBuild(id: 'Platform', reportEncoding: 'UTF-8')
      echo 'recordIssues for Modules'
      recordIssues sourceDirectory: 'Modules', enabledForFailure: true, sourceCodeEncoding: 'UTF-8', tool: msBuild(id: 'Modules', reportEncoding: 'UTF-8')
      

      I got following errors:

      14:53:37  recordIssues for Platform
      [Pipeline] recordIssues
      14:53:37  [MSBuild] Sleeping for 5 seconds due to JENKINS-32191...
      14:53:42  [MSBuild] Parsing console log (workspace: 'C:\jenkins\w\xperiment_feature_jenkins_master')
      14:54:03  [MSBuild] Successfully parsed console log
      14:54:03  [MSBuild] -> found 1261 issues (skipped 3119 duplicates)
      14:54:03  The recommended git tool is: git
      14:54:03  using credential buildpc-Git-User
      14:54:03  The recommended git tool is: git
      14:54:03  using credential buildpc-Git-User
      14:54:04  The recommended git tool is: git
      14:54:04  using credential buildpc-Git-User
      14:54:04  The recommended git tool is: git
      14:53:56   > git rev-parse "HEAD^{commit}" # timeout=10
      14:54:04  using credential buildpc-Git-User
      14:53:56   > git rev-parse "HEAD^{commit}" # timeout=10
      14:54:08   > git rev-parse "HEAD^{commit}" # timeout=10
      14:54:23  [MSBuild] [-ERROR-] Errors while extracting author and commit information from Git:
      14:54:23  [MSBuild] [-ERROR-] - error running git blame on 'Tools/XXXX.YYYY/Configuration/ConfigurationProvider.cs' with revision 'AnyObjectId[b1fb3238ba30f151b034d6417089950e222006b9]'
      14:54:23  [MSBuild] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown b1fb3238ba30f151b034d6417089950e222006b9
      14:54:23  [MSBuild] [-ERROR-] 	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:135)
      [...]
      14:54:23  [MSBuild] [-ERROR-]   ... skipped logging of 519 additional errors ...
      14:54:23  [MSBuild] [-ERROR-] Errors while mining source control repository:
      14:54:23  [MSBuild] [-ERROR-] Can't analyze history of file Tools/XXXX.YYYY/Configuration/ConfigurationProvider.cs
      14:54:23  [MSBuild] [-ERROR-] org.eclipse.jgit.api.errors.NoHeadException: No HEAD exists and no explicit starting revision was specified
      14:54:23  [MSBuild] [-ERROR-] 	at org.eclipse.jgit.api.LogCommand.call(LogCommand.java:131)
      [...]
      14:54:23  [MSBuild] [-ERROR-] 	at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
      14:54:23  [MSBuild] [-ERROR-] 	at java.lang.Thread.run(Thread.java:748)
      14:54:23  [MSBuild] [-ERROR-]   ... skipped logging of 519 additional errors ...
      14:54:23  [MSBuild] Post processing issues on 'jenkins_agent' with source code encoding 'UTF-8'
      14:54:23  [MSBuild] Creating SCM blamer to obtain author and commit information for affected files
      14:54:23  [MSBuild] -> Git blamer successfully created in working tree 'C:\jenkins\w\xperiment_feature_jenkins_master\Platform'
      14:54:23  [MSBuild] Creating SCM miner to obtain statistics for affected repository files
      14:54:23  [MSBuild] -> Git miner successfully created in working tree 'C:\jenkins\w\xperiment_feature_jenkins_master\Platform'
      14:54:23  [MSBuild] Resolving file names for all issues in source directory 'C:\jenkins\w\xperiment_feature_jenkins_master\Platform'
      14:54:23  [MSBuild] -> resolved paths in source directory (539 found, 0 not found)
      14:54:23  [MSBuild] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files)
      14:54:23  [MSBuild] -> resolved module names for 1261 issues
      14:54:23  [MSBuild] Resolving package names (or namespaces) by parsing the affected files
      14:54:23  [MSBuild] -> resolved package names of 539 affected files
      14:54:23  [MSBuild] No filter has been set, publishing all 1261 issues
      14:54:23  [MSBuild] Creating fingerprints for all affected code blocks to track issues over different builds
      14:54:23  [MSBuild] -> created fingerprints for 1261 issues (skipped 0 issues)
      14:54:23  [MSBuild] Invoking Git blamer to create author and commit information for 539 affected files
      14:54:23  [MSBuild] GIT_COMMIT env = 'HEAD'
      14:54:23  [MSBuild] Git commit ID = 'b1fb3238ba30f151b034d6417089950e222006b9'
      14:54:23  [MSBuild] Git working tree = 'C:/jenkins/w/xperiment_feature_jenkins_master/Platform/Platform'
      14:54:23  [MSBuild] -> blamed authors of issues in 0 files
      14:54:23  [MSBuild] Blaming of authors took 1 seconds
      14:54:23  [MSBuild] Analyzing the commit log of the Git repository 'C:\jenkins\w\xperiment_feature_jenkins_master\Platform\Platform'
      14:54:23  [MSBuild] Invoking Git miner to create statistics for all available files
      14:54:23  [MSBuild] Git working tree = 'C:/jenkins/w/xperiment_feature_jenkins_master/Platform/Platform'
      14:54:23  [MSBuild] -> created statistics for 539 files
      14:54:23  [MSBuild] -> created report for 539 files in 4 seconds
      14:54:23  [MSBuild] Copying affected files to Jenkins' build folder '/var/jenkins_home/jobs/XXXX_Folder/jobs/ZZZ/jobs/XXXXZZZExperiment/branches/feature-jenkins-master.56n3rv/builds/125/files-with-issues'
      14:54:23  [MSBuild] -> 223 copied, 869 not in workspace, 0 not-found, 0 with I/O error
      14:54:23  [MSBuild] Using reference build 'XXXX_Folder/ZZZ/XXXXZZZExperiment/feature%2Fjenkins_master #124' to compute new, fixed, and outstanding issues
      14:54:23  [MSBuild] Issues delta (vs. reference build): outstanding: 1261, new: 0, fixed: 0
      14:54:23  [MSBuild] No quality gates have been set - skipping
      14:54:23  [MSBuild] Health report is disabled - skipping
      14:54:23  [MSBuild] Created analysis result for 1261 issues (found 0 new issues, fixed 0 issues)
      14:54:23  [MSBuild] Attaching ResultAction with ID 'Platform' to run 'XXXX_Folder/ZZZ/XXXXZZZExperiment/feature%2Fjenkins_master #125'.
      [Pipeline] echo
      14:54:23  recordIssues for Modules
      [Pipeline] recordIssues
      14:54:23  [MSBuild] Sleeping for 5 seconds due to JENKINS-32191...
      14:54:28  [MSBuild] Parsing console log (workspace: 'C:\jenkins\w\xperiment_feature_jenkins_master')
      14:54:50  [MSBuild] Successfully parsed console log
      14:54:50  [MSBuild] -> found 1261 issues (skipped 3119 duplicates)
      14:54:50  The recommended git tool is: git
      14:54:50  using credential buildpc-Git-User
      14:54:51  The recommended git tool is: git
      14:54:51  using credential buildpc-Git-User
      14:54:51  The recommended git tool is: git
      14:54:51  using credential buildpc-Git-User
      14:54:43   > git rev-parse "HEAD^{commit}" # timeout=10
      14:54:51  The recommended git tool is: git
      14:54:52  using credential buildpc-Git-User
      14:54:43   > git rev-parse "HEAD^{commit}" # timeout=10
      14:54:57   > git rev-parse "HEAD^{commit}" # timeout=10
      14:55:10  [MSBuild] [-ERROR-] Errors while extracting author and commit information from Git:
      14:55:10  [MSBuild] [-ERROR-] - error running git blame on '../Platform/XXXX.PlugIns/WWWW/FeatureProvider.cs' with revision 'AnyObjectId[434dc2e35ecf452ed67c7cc3888779c5f0be022d]'
      14:55:10  [MSBuild] [-ERROR-] org.eclipse.jgit.errors.MissingObjectException: Missing unknown 434dc2e35ecf452ed67c7cc3888779c5f0be022d
      14:55:10  [MSBuild] [-ERROR-] 	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:135)
      [...]
      14:55:10  [MSBuild] [-ERROR-] 	at java.lang.Thread.run(Thread.java:748)
      14:55:10  [MSBuild] [-ERROR-]   ... skipped logging of 519 additional errors ...
      14:55:10  [MSBuild] Post processing issues on 'jenkins_agent' with source code encoding 'UTF-8'
      14:55:10  [MSBuild] Creating SCM blamer to obtain author and commit information for affected files
      14:55:10  [MSBuild] -> Git blamer successfully created in working tree 'C:\jenkins\w\xperiment_feature_jenkins_master\Modules'
      14:55:10  [MSBuild] Creating SCM miner to obtain statistics for affected repository files
      14:55:10  [MSBuild] -> Git miner successfully created in working tree 'C:\jenkins\w\xperiment_feature_jenkins_master\Modules'
      14:55:10  [MSBuild] Resolving file names for all issues in source directory 'C:\jenkins\w\xperiment_feature_jenkins_master\Modules'
      14:55:10  [MSBuild] -> resolved paths in source directory (539 found, 0 not found)
      14:55:10  [MSBuild] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files)
      14:55:10  [MSBuild] -> resolved module names for 1261 issues
      14:55:10  [MSBuild] Resolving package names (or namespaces) by parsing the affected files
      14:55:10  [MSBuild] -> resolved package names of 539 affected files
      14:55:10  [MSBuild] No filter has been set, publishing all 1261 issues
      14:55:10  [MSBuild] Creating fingerprints for all affected code blocks to track issues over different builds
      14:55:10  [MSBuild] -> created fingerprints for 1261 issues (skipped 0 issues)
      14:55:10  [MSBuild] Invoking Git blamer to create author and commit information for 539 affected files
      14:55:10  [MSBuild] GIT_COMMIT env = 'HEAD'
      14:55:10  [MSBuild] Git commit ID = '434dc2e35ecf452ed67c7cc3888779c5f0be022d'
      14:55:10  [MSBuild] Git working tree = 'C:/jenkins/w/xperiment_feature_jenkins_master/Modules/Platform'
      14:55:10  [MSBuild] -> blamed authors of issues in 0 files
      14:55:10  [MSBuild] Blaming of authors took 1 seconds
      14:55:10  [MSBuild] Analyzing the commit log of the Git repository 'C:\jenkins\w\xperiment_feature_jenkins_master\Modules\Platform'
      14:55:10  [MSBuild] Invoking Git miner to create statistics for all available files
      14:55:10  [MSBuild] Git working tree = 'C:/jenkins/w/xperiment_feature_jenkins_master/Modules/Platform'
      14:55:10  [MSBuild] -> created statistics for 539 files
      14:55:10  [MSBuild] -> created report for 539 files in 3 seconds
      14:55:10  [MSBuild] Copying affected files to Jenkins' build folder '/var/jenkins_home/jobs/XXXX_Folder/jobs/ZZZ/jobs/XXXXZZZExperiment/branches/feature-jenkins-master.56n3rv/builds/125/files-with-issues'
      14:55:10  [MSBuild] -> 178 copied, 684 not in workspace, 0 not-found, 0 with I/O error
      14:55:10  [MSBuild] Using reference build 'XXXX_Folder/ZZZ/XXXXZZZExperiment/feature%2Fjenkins_master #124' to compute new, fixed, and outstanding issues
      14:55:10  [MSBuild] Issues delta (vs. reference build): outstanding: 1261, new: 0, fixed: 0
      14:55:10  [MSBuild] No quality gates have been set - skipping
      14:55:10  [MSBuild] Health report is disabled - skipping
      14:55:10  [MSBuild] Created analysis result for 1261 issues (found 0 new issues, fixed 0 issues)
      14:55:10  [MSBuild] Attaching ResultAction with ID 'Modules' to run 'XXXX_Folder/ZZZ/XXXXZZZExperiment/feature%2Fjenkins_master #125'.
      

      Some findings:
      It seems there is a mismatch of the Modules and Platform directories, because not existing paths are constructed like:

      14:55:10 [MSBuild] Git working tree = 'C:/jenkins/w/xperiment_feature_jenkins_master/Modules/Platform'
      ...
      14:54:23 [MSBuild] Analyzing the commit log of the Git repository 'C:\jenkins\w\xperiment_feature_jenkins_master\Platform\Platform'
      

      and additionally it tries to search form Platform files within Modules directory/repository:

      14:55:10 [MSBuild] [-ERROR-] - error running git blame on '../Platform/XXXX.PlugIns/WWWW/FeatureProvider.cs' with revision 'AnyObjectId[434dc2e35ecf452ed67c7cc3888779c5f0be022d]'
      

            drulli Ulli Hafner
            drulli Ulli Hafner
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: