-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Blocker
-
Resolution: Not A Defect
-
Component/s: git-client-plugin, git-plugin
-
Labels:None
-
Similar Issues:
We are getting a lot of these errors:
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from git@gitlab:xxx/main.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:810)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1066)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1097)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at com.tikal.jenkins.plugins.multijob.MultiJobBuild$MultiJobRunnerImpl.run(MultiJobBuild.java:136)
at hudson.model.Run.execute(Run.java:1738)
at com.tikal.jenkins.plugins.multijob.MultiJobBuild.run(MultiJobBuild.java:73)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Caused by: hudson.plugins.git.GitException: Command "/home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git -c core.askpass=true fetch --no-tags --progress git@gitlab.xxx.com:xxx/main.git +refs/heads/master:refs/remotes/origin/master" returned status code 128:
stdout:
stderr: error: refs/remotes/origin/xxxx does not point to a valid object!
.....
fatal: pack has 120 unresolved deltas
fatal: index-pack failed
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1719)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1463)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:63)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:314)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
at hudson.remoting.UserRequest.perform(UserRequest.java:120)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:332)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at hudson.remoting.Engine$1$1.run(Engine.java:85)
at java.lang.Thread.run(Thread.java:745)
at ......remote call to build133(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
at hudson.remoting.Channel.call(Channel.java:781)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
at sun.reflect.GeneratedMethodAccessor267.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
at com.sun.proxy.$Proxy47.execute(Unknown Source)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:808)
... 12 more
ERROR: null
So I set the Refspec to +refs/heads/master:refs/remotes/origin/master
But when it does a fresh checkout (clean workspace), the plugin does this:
Notice: +refs/heads/:refs/remotes/origin/
Cloning the remote Git repository
Avoid fetching tags
Cloning repository git@gitlab.cj.com:cjdev/main.git
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git init /home/cruise/workspace/Start # timeout=10
Fetching upstream changes from git@gitlab.cj.com:cjdev/main.git
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git --version # timeout=10
using GIT_SSH to set credentials
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git -c core.askpass=true fetch --no-tags --progress git@gitlab.cj.com:cjdev/main.git +refs/heads/:refs/remotes/origin/
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git config remote.origin.url git@gitlab.cj.com:cjdev/main.git # timeout=10
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git config --add remote.origin.fetch +refs/heads/:refs/remotes/origin/ # timeout=10
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git config remote.origin.url git@gitlab.cj.com:cjdev/main.git # timeout=10
Fetching upstream changes from git@gitlab.cj.com:cjdev/main.git
using GIT_SSH to set credentials
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git -c core.askpass=true fetch --no-tags --progress git@gitlab.cj.com:cjdev/main.git +refs/heads/master:refs/remotes/origin/master
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git rev-parse refs/remotes/origin/master^
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git rev-parse refs/remotes/origin/refs/heads/master^{commit}
# timeout=10
Checking out Revision b1232ff60185766b8b94dabcc20f147e25ae9aab (refs/remotes/origin/master)
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git config core.sparsecheckout # timeout=10
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git checkout -f b1232ff60185766b8b94dabcc20f147e25ae9aab
> /home/cruise/tools/hudson.plugins.git.GitTool/git-2.7.1/git rev-list 96dd700f85eb3dc07319d302e930053774c86bfc # timeout=10
which I think is what is causing the error when anything from the origin disappears.
Using latest of git plugin, and shared library plugin.
As far as I can tell, you're trying to clone a SHA1 whose history does not exist in the target repository because you are using shallow clone. Refer to this superuser.com article for more information on the condition.
One work around appears to be to not use shallow clone. Another that might work would be to increase the depth of the shallow clone.