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

git plugin 3.6.4 regression with shared libraries

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • git-plugin
    • Jenkins ver. 2.73.3 running on docker (jenkins/jenkins:lts)

      Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which is not the last one of the branch.

      Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

      Behaviour of 3.6.3 (good one)

      Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
      > git rev-parse --is-inside-work-tree # timeout=10
      Setting origin to git@github.com:user/repo.git
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching origin...
      Fetching upstream changes from origin
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
      > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
      > git rev-parse --is-inside-work-tree # timeout=10
      Fetching changes from the remote Git repository
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching without tags
      Fetching upstream changes from git@github.com:user/repo.git
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
      Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
      > git config core.sparsecheckout # timeout=10
      > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
      Commit message: "Refactor developerPipeline.groovy"
      > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
      

      Behaviour of 3.6.4 (bad one)

      Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
      Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
      Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
      > git rev-parse --is-inside-work-tree # timeout=10
      Setting origin to git@github.com:user/repo.git
      > git config remote.origin.url git@github.com:user/repo.git # timeout=10
      Fetching origin...
      Fetching upstream changes from origin
      > git --version # timeout=10
      using GIT_SSH to set credentials github
      > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
      > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
      > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
      Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
      ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
      org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
      WorkflowScript: Loading libraries failed
      

      Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

      The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

      Steps to reproduce the issue

      1) Configure the shared libraries

      2) Use them with pipeline:

      @Library('xxx-jenkins-library@sha1_of_commit_which_is_not_the_last_one') _  
      
      

      3) Execute the pipeline and you should have the above output

      WORKAROUND: use git-plugin 3.6.3

          [JENKINS-48061] git plugin 3.6.4 regression with shared libraries

          Diego Russo created issue -
          Diego Russo made changes -
          Description Original: Git plugin 3.6.4 has a regression when working with shared libraries. Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          \{noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          \{noformat}

          Behaviour of 3.6.4 (bad one)

          \{noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          \{noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          Cheers
          New: Git plugin 3.6.4 has a regression when working with shared libraries. Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          Cheers
          Diego Russo made changes -
          Environment New: Jenkins ver. 2.73.3 running on docker (linux)
          Diego Russo made changes -
          Description Original: Git plugin 3.6.4 has a regression when working with shared libraries. Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          Cheers
          New: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          Cheers
          Diego Russo made changes -
          Priority Original: Major [ 3 ] New: Minor [ 4 ]
          Diego Russo made changes -
          Description Original: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          Cheers
          New: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          *WORKAROUND: use git-plugin 3.6.3*
          Diego Russo made changes -
          Environment Original: Jenkins ver. 2.73.3 running on docker (linux) New: Jenkins ver. 2.73.3 running on docker (jenkins/jenkins:lts)
          Mark Waite made changes -
          Assignee Original: Mark Waite [ markewaite ] New: Stephen Connolly [ stephenc ]
          Diego Russo made changes -
          Attachment New: Screen Shot 2017-11-16 at 14.52.50.png [ 40408 ]
          Diego Russo made changes -
          Description Original: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954

          *WORKAROUND: use git-plugin 3.6.3*
          New: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954


          Steps to reproduce the issue

          1) Configure the shared libraries
           !Screen Shot 2017-11-16 at 14.52.50.png|thumbnail!

          2) Use them with pipeline:

          {noformat}

          @Library('xxx-jenkins-library@sha1_of_commit_which_is_not_HEAD') _

          {noformat}

          *WORKAROUND: use git-plugin 3.6.3*
          Diego Russo made changes -
          Description Original: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the HEAD* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954


          Steps to reproduce the issue

          1) Configure the shared libraries
           !Screen Shot 2017-11-16 at 14.52.50.png|thumbnail!

          2) Use them with pipeline:

          {noformat}

          @Library('xxx-jenkins-library@sha1_of_commit_which_is_not_HEAD') _

          {noformat}

          *WORKAROUND: use git-plugin 3.6.3*
          New: Git plugin 3.6.4 has a regression when working with shared libraries when a user specifies a commit which *is not the last one* of the branch.

          Below the execution of the same pipeline with two version of the same plugin: the good one is 3.6.3 whilst the one which introduces the regression is 3.6.4.

          Behaviour of 3.6.3 (good one)
          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git rev-parse --is-inside-work-tree # timeout=10
          Fetching changes from the remote Git repository
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching without tags
          Fetching upstream changes from git@github.com:user/repo.git
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --no-tags --progress git@github.com:user/repo.git +refs/heads/*:refs/remotes/origin/*
          Checking out Revision a39ba3363968d030eca48fc7b32e78870f580e0e (a39ba3363968d030eca48fc7b32e78870f580e0e)
          > git config core.sparsecheckout # timeout=10
          > git checkout -f a39ba3363968d030eca48fc7b32e78870f580e0e
          Commit message: "Refactor developerPipeline.groovy"
          > git rev-list a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          {noformat}

          Behaviour of 3.6.4 (bad one)

          {noformat}
          Loading library xxx-jenkins-library@a39ba3363968d030eca48fc7b32e78870f580e0e
          Attempting to resolve a39ba3363968d030eca48fc7b32e78870f580e0e from remote references...
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git ls-remote -h -t git@github.com:user/repo.git # timeout=10
          Could not find a39ba3363968d030eca48fc7b32e78870f580e0e in remote references. Pulling heads to local for deep search...
          > git rev-parse --is-inside-work-tree # timeout=10
          Setting origin to git@github.com:user/repo.git
          > git config remote.origin.url git@github.com:user/repo.git # timeout=10
          Fetching origin...
          Fetching upstream changes from origin
          > git --version # timeout=10
          using GIT_SSH to set credentials github
          > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
          > git rev-parse a39ba3363968d030eca48fc7b32e78870f580e0e^\{commit} # timeout=10
          > git branch -v --no-abbrev --contains a39ba3363968d030eca48fc7b32e78870f580e0e # timeout=10
          Could not find a branch containing commit a39ba3363968d030eca48fc7b32e78870f580e0e
          ERROR: No version a39ba3363968d030eca48fc7b32e78870f580e0e found for library xxx-jenkins-library
          org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
          WorkflowScript: Loading libraries failed
          {noformat}

          Here the code of the plugin up to 3.6.4: https://github.com/jenkinsci/git-plugin/commits/git-3.6.4

          The culprit could be this commit: https://github.com/jenkinsci/git-plugin/commit/addcc0a57f2a205f7a79efda4ca15e7b6d937954


          Steps to reproduce the issue

          1) Configure the shared libraries
           !Screen Shot 2017-11-16 at 14.52.50.png|thumbnail!

          2) Use them with pipeline:

          {noformat}

          @Library('xxx-jenkins-library@sha1_of_commit_which_is_not_the_last_one') _

          {noformat}

          *WORKAROUND: use git-plugin 3.6.3*

            rsandell rsandell
            diegor Diego Russo
            Votes:
            8 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: