jenkinsci / jenkinsci/git-client-plugin

[JENKINS-70303] JGit checkout fails if refspec has leading spaces

Open
#1,663 1 comment 0 reactions 0 assignees View on GitHub
component:git-client-plugin good first issue imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
152
Forks
402
Avg merge
6h 47m
Merged PRs (30d)
4

Description

If a refspec is included in the checkout scm definition of a multibranch Pipeline using JGit for checkout and the refspec has a leading space character, the checkout fails with the JGit message


Remote does not have available for fetch.

The same refspec with leading spaces does not affect command line git checkout. It works in either case with command line git. Leading space handling by command line git is preferred rather than the way that the git client plugin honors the leading spaces and passes them to JGit.

Command line git does not see the issue because extra spaces between arguments of a command line program are generally not an issue. Lucky circumstances that allow the CLI git checkout to be better behaved than the JGit checkout.

Because command line git accepts the leading and trailing spaces, it would be safe for someone to fix this by removing leading and trailing spaces from the refspec value when it is saved and when it is used.

---
Originally reported by markewaite, imported from: JGit checkout fails if refspec has leading spaces


  • assignee: jagrutiti
  • status: In Review
  • priority: Minor
  • component(s): git-client-plugin
  • label(s): newbie-friendly
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20251211-071809

Raw content of original issue

If a refspec is included in the checkout scm definition of a multibranch Pipeline using JGit for checkout and the refspec has a leading space character, the checkout fails with the JGit message


Remote does not have available for fetch.

The same refspec with leading spaces does not affect command line git checkout. It works in either case with command line git. Leading space handling by command line git is preferred rather than the way that the git client plugin honors the leading spaces and passes them to JGit.

Command line git does not see the issue because extra spaces between arguments of a command line program are generally not an issue. Lucky circumstances that allow the CLI git checkout to be better behaved than the JGit checkout.

Because command line git accepts the leading and trailing spaces, it would be safe for someone to fix this by removing leading and trailing spaces from the refspec value when it is saved and when it is used.

environment

```
Jenknis 2.375.1

Git plugin 4.14.3

Git client plugin 3.13.1
```

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.