jenkinsci / jenkinsci/git-plugin

[JENKINS-64000] Git tag setting ignored by repository fetch in multibranch project created by GitHub org folder

Open
#3,610 12 comments 0 reactions 0 assignees View on GitHub
component:git-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
694
Forks
1.1k
Avg merge
1h 29m
Merged PRs (30d)
3

Description

As requested in allowSecondFetch ** documentation I am opening a ticket.

After upgrading git plugin to version 4.4.4 (can't recall the previous version), my Jenkins job started to fail on the checkout step because it requires the version tags, defined as bellow:

stage('Checkout') {

retry(3) {
scmvars = checkout([
$class : 'GitSCM',
branches : scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions : scm.extensions +
[$class: 'CloneOption', noTags: false, reference: '~/git/service-sourcing/', shallow: false] +
[$class: 'LocalBranch', localBranch: "**"] +
[$class: 'UserIdentity', email: 'dev@​nezasa.com', name: 'Jenkins CI'],
userRemoteConfigs: scm.userRemoteConfigs
])
}
}

 

Before the update the job used to output this during checkout:

**

```
05:16:32 > git fetch --no-tags --force --progress -- git@​github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10
05:16:35 Fetching without tags
05:16:35 > git config remote.origin.url git@​github.com:nezasa/tb-service-sourcing.git # timeout=10
05:16:35 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10
05:16:35 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
05:16:35 > git config remote.origin.url git@​github.com:nezasa/tb-service-sourcing.git # timeout=10
05:16:35 Fetching upstream changes from git@​github.com:nezasa/tb-service-sourcing.git
05:16:35 using GIT_SSH to set credentials Github SSH Key for common libraries access
05:16:35 > git fetch --tags --force --progress -- git@​github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10
```

 

After the update the output is (Git is now Avoiding second fetch):

**

```
05:16:59 > git fetch --no-tags --force --progress -- git@​github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10
05:17:01 Avoid second fetch
05:17:01 Checking out Revision 68628022e4553cacb97377dfd35d54c3d3d3734f (develop)
05:17:01 > git config remote.origin.url git@​github.com:nezasa/tb-service-sourcing.git # timeout=10
05:17:01 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10
05:17:01 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
05:17:01 > git config core.sparsecheckout # timeout=10
05:17:01 > git checkout -f 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10
05:17:01 > git branch -a -v --no-abbrev # timeout=10
05:17:02 > git checkout -b develop 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10
```

 

Adding allowSecondFetch flag and setting it to true on the global settings seems to fix the issue but I was expecting that the Advanced Clone Setting on the job would be enough.

---
Originally reported by jose_pedro_sa, imported from: Git tag setting ignored by repository fetch in multibranch project created by GitHub org folder


  • status: Open
  • priority: Minor
  • component(s): git-plugin
  • resolution: Unresolved
  • votes: 4
  • watchers: 9
  • imported: 2025-12-02

Raw content of original issue

As requested in allowSecondFetch ** documentation I am opening a ticket.

After upgrading git plugin to version 4.4.4 (can't recall the previous version), my Jenkins job started to fail on the checkout step because it requires the version tags, defined as bellow:



stage('Checkout') {

retry(3) {
scmvars = checkout([
$class : 'GitSCM',
branches : scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions : scm.extensions +
[$class: 'CloneOption', noTags: false, reference: '~/git/service-sourcing/', shallow: false] +
[$class: 'LocalBranch', localBranch: "**"] +
[$class: 'UserIdentity', email: 'dev@nezasa.com', name: 'Jenkins CI'],
userRemoteConfigs : scm.userRemoteConfigs
])
}
}


 

Before the update the job used to output this during checkout:
**



05:16:32   > git fetch --no-tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10

05:16:35 Fetching without tags
05:16:35 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10
05:16:35 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10
05:16:35 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
05:16:35 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10
05:16:35 Fetching upstream changes from git@github.com:nezasa/tb-service-sourcing.git
05:16:35 using GIT_SSH to set credentials Github SSH Key for common libraries access
05:16:35 > git fetch --tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10


 

After the update the output is (Git is now Avoiding second fetch):
**



05:16:59   > git fetch --no-tags --force --progress -- git@github.com:nezasa/tb-service-sourcing.git +refs/heads/develop:refs/remotes/origin/develop +refs/heads/*:refs/remotes/origin/* # timeout=10

05:17:01 Avoid second fetch
05:17:01 Checking out Revision 68628022e4553cacb97377dfd35d54c3d3d3734f (develop)
05:17:01 > git config remote.origin.url git@github.com:nezasa/tb-service-sourcing.git # timeout=10
05:17:01 > git config --add remote.origin.fetch +refs/heads/develop:refs/remotes/origin/develop # timeout=10
05:17:01 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
05:17:01 > git config core.sparsecheckout # timeout=10
05:17:01 > git checkout -f 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10
05:17:01 > git branch -a -v --no-abbrev # timeout=10
05:17:02 > git checkout -b develop 68628022e4553cacb97377dfd35d54c3d3d3734f # timeout=10


 

Adding allowSecondFetch flag and setting it to true on the global settings seems to fix the issue but I was expecting that the Advanced Clone Setting on the job would be enough.

environment

```
Jenkins 2.249.2

Git plugin 4.4.4
```

2 attachments

- [image-2020-10-22-16-06-51-619.png](https://issues.jenkins.io/secure/attachment/53018/image-2020-10-22-16-06-51-619.png)
> ![image-2020-10-22-16-06-51-619.png](https://issues.jenkins.io/secure/attachment/53018/image-2020-10-22-16-06-51-619.png)
- [image-2022-10-29-13-50-43-749.png](https://issues.jenkins.io/secure/attachment/59388/image-2022-10-29-13-50-43-749.png)
> ![image-2022-10-29-13-50-43-749.png](https://issues.jenkins.io/secure/attachment/59388/image-2022-10-29-13-50-43-749.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.