-
Bug
-
Resolution: Fixed
-
Minor
-
Jenkins v2.9.0
-
-
5.0.0-beta3
I have the following workspace structure:
- $WORKSPACE/git-checkout
- $WORKSPACE/artifacts
The codes are build with (from $WORKSPACE)
make -C git-checkout ARTIFACTS_DIR=${WORKSPACE}/artifacts
which would write output files to $WORKSPACE/artifacts, including pylint output, which contains lines like this
src/updates/update.py:028: [E0611(no-name-in-module), ] No name 'updates' in module 'utils'
gitblamer is unable the generate blames from this annotation, with series of warnings like this:
<Git Blamer> Using GitBlamer to create author and commit information for all warnings.
<Git Blamer> GIT_COMMIT=c636547ad11d989ef8f984591468cc00c46fb345, workspace=/var/jenkins/build/workspace/project-builder/git-checkout
<Git Blamer> Skipping non-workspace file src/updates/update.py (workspace = /var/jenkins/build/workspace/project-builder/git-checkout, absolute = /src/updates/update.py.
<Git Blamer> Skipping file src/updates/update.py, no result found.
It appears that git-blamer failed to get the correct absolute path for the files.
It seems this line
https://github.com/jenkinsci/analysis-core-plugin/blob/master/src/main/java/hudson/plugins/analysis/util/AbstractBlamer.java#L115
converse the possibly relative path storedFileName to absolute path, not taking into account of workspacePath.