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

Checkout resolution misbehaves with local branch and forward slashes


    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: git-plugin
    • Labels:
    • Environment:
      Jenkins 2.107.1, git-plugin 2.7.1
    • Similar Issues:


      If the git plugin uses a local branch which is named the same as the remote and contains a forward slash, it will cause the checkout command to not update to the latest commit. Since using branches with / is common and local branch might be necessary, this should be fixed or at least produce a warning.

      To test: Create the following pipeline:

      node {
        stage ('hello') {
          dir ('foo') {
            checkout([$class: 'GitSCM', branches: [[name: "foo/bar"]], extensions: [[$class: 'LocalBranch', localBranch: 'foo/bar']], userRemoteConfigs: [[credentialsId: '...', url: "..."]]])

      And follow these steps:

      1. Push branch foo/bar
      2. Run pipeline
      3. Push branch foo/bar with new versions
      4. Re-run pipeline in same folder

      The output should have the following contents:

       > git.exe fetch --tags --progress ssh://xxxx +refs/heads/*:refs/remotes/origin/*
       > git.exe rev-parse "foo/bar^{commit}" # timeout=10
       > git.exe rev-parse "refs/remotes/origin/foo/bar^{commit}" # timeout=10
      Multiple candidate revisions
      Checking out Revision 7bbd0143e31f1280e032cf350cf9f466642d1d65 (foo/bar)

      The 7bbd014 is the older commit however, since the local branch takes precedence over the remote one.


      • Name the local branch differently from the remote branch
      • Specify the fully quialified branch name (remotes/origin/${branch}) in the checkout command


          Issue Links


            shauser Stephan Hauser created issue -
            markewaite Mark Waite made changes -
            Field Original Value New Value
            Assignee Mark Waite [ markewaite ]
            markewaite Mark Waite made changes -
            Link This issue relates to JENKINS-50556 [ JENKINS-50556 ]
            markewaite Mark Waite made changes -
            Link This issue duplicates JENKINS-37263 [ JENKINS-37263 ]
            markewaite Mark Waite made changes -
            Status Open [ 1 ] Fixed but Unreleased [ 10203 ]
            Resolution Fixed [ 1 ]
            markewaite Mark Waite made changes -
            Resolution Fixed [ 1 ]
            Status Fixed but Unreleased [ 10203 ] Reopened [ 4 ]
            markewaite Mark Waite made changes -
            Status Reopened [ 4 ] Open [ 1 ]


              • Assignee:
                shauser Stephan Hauser
              • Votes:
                0 Vote for this issue
                4 Start watching this issue


                • Created: