-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
Jenkins 2.57
git plugin 3.3.0
Since last update to jenkins 2.57 with git-plugin 3.3.0, jobs are failing fetching git repositories when job name contains space. Trace is :
Building remotely on Platform-BDXWEB037 (platform2) in workspace E:\Jenkins\workspace\Projet Platform Environment Deployment (ANY)
> git.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git.exe config remote.origin.url http://git.intraxiti.com/deployment/PlatformPublisherV2.git # timeout=10
Cleaning workspace
> git.exe rev-parse --verify HEAD # timeout=10
Resetting working tree
> git.exe reset --hard # timeout=10
> git.exe clean -fdx # timeout=10
Fetching upstream changes from http://git.intraxiti.com/deployment/PlatformPublisherV2.git
> git.exe --version # timeout=10
using GIT_ASKPASS to set credentials Jenkins User for GitLab
> git.exe fetch --tags --progress http://git.intraxiti.com/deployment/PlatformPublisherV2.git +refs/heads/:refs/remotes/origin/
ERROR: Timeout after 10 minutes
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from http://git.intraxiti.com/deployment/PlatformPublisherV2.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:809)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1076)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1107)
at hudson.scm.SCM.checkout(SCM.java:495)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1281)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1735)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:405)
Caused by: hudson.plugins.git.GitException: Command "git.exe fetch --tags --progress http://git.intraxiti.com/deployment/PlatformPublisherV2.git +refs/heads/:refs/remotes/origin/" returned status code -1:
stdout:
*stderr: 'E:\Jenkins\workspace\Projet' is not recognized as an internal or external command,
operable program or batch file.*
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1866)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1585)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:71)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:348)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:153)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:146)
at hudson.remoting.UserRequest.perform(UserRequest.java:121)
at hudson.remoting.UserRequest.perform(UserRequest.java:49)
at hudson.remoting.Request$2.run(Request.java:325)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:69)
at java.lang.Thread.run(Unknown Source)
at ......remote call to Channel to /172.18.1.9(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1545)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
at hudson.remoting.Channel.call(Channel.java:830)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
at sun.reflect.GeneratedMethodAccessor486.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
at com.sun.proxy.$Proxy122.execute(Unknown Source)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:807)
... 11 more
ERROR: null
Renaming the job is a workaround but implies to update all scripts and mechanisms linked to this job (script that trigger the job build for instance). This is really annoying.
- is duplicated by
-
JENKINS-44041 Windows authenticated git checkout fails if '(' or ')' in path to workspace
-
- Closed
-
- is related to
-
JENKINS-44041 Windows authenticated git checkout fails if '(' or ')' in path to workspace
-
- Closed
-
-
JENKINS-44127 Private key authenticated git checkout fails if '%' is in path to workspace
-
- Closed
-
Thanks for the report. My apologies that I didn't think to test a workspace containing a space with an authenticating git checkout. I'll include that in future tests before release.
You'll probably need to fall back to an earlier version of the git client plugin (rather than the git plugin) to avoid that issue. I suspect that is a regression introduced in the git client plugin 2.4.4 update when it switched from placing temporary files in the system temporary directory to placing them in a temporary directory near the workspace. I think that the git client plugin 2.4.2 should be enough to allow you to run.
Some double quotes will need to be carefully inserted into certain locations in the scripts if the path to the temporary file contains spaces. Unfortunately, that requires a different set of command processor escaping rules, and will create more complicated logic in a section of code that already feels too complicated.
I won't be able to do deep investigation on the issue until next week at the earliest.