• 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.

          [JENKINS-48302] gitblamer failed to parse relative file path

          Mathieu Zhang added a comment -

          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.

          Mathieu Zhang added a comment - 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 .

          Ulli Hafner added a comment -

          Seems that the pylint parser does not assign absolute path names for warnings. So canonical path does not work in the way it should. Is there an option in pylon to enable absolute paths for the warnings?

          Ulli Hafner added a comment - Seems that the pylint parser does not assign absolute path names for warnings. So canonical path does not work in the way it should. Is there an option in pylon to enable absolute paths for the warnings?

          Mathieu Zhang added a comment -

          I suppose pylint has the formatting keyword 'abspath' that I can use instead.  It would include the very long Jenkins workspace path prefix.  Can we not infer that the pylint path is relative to the git workspace if it does not start with a leading /?

          Mathieu Zhang added a comment - I suppose pylint has the formatting keyword 'abspath' that I can use instead.  It would include the very long Jenkins workspace path prefix.  Can we not infer that the pylint path is relative to the git workspace if it does not start with a leading /?

          Ulli Hafner added a comment -

          Absolute path resolving should be more robust in the latest beta.

          Ulli Hafner added a comment - Absolute path resolving should be more robust in the latest beta.

            drulli Ulli Hafner
            mlfz Mathieu Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: