Issue Type: Bug Bug
Affects Versions: current
Assignee: Nicolas De Loof
Attachments: systemInfo.txt
Components: git
Created: 13/Mar/13 6:12 AM
Description:

If a recursive symlink is present in one's git repo the new git/git-client plugins will fail badly as shown below. While having such a symlink may not be ideal, until git 1.3.0/ git-client 1.0.4 Jenkins did not have problems with it (nor have I had any other git client or tool fail because of this symlink).

This appears to be specifically related to changes in the new git 1.3.0 plugin or its dependency git-client 1.0.4. Downgrading to the git 1.2.0 plugin and manually downgrading to the git-client 1.0.3 plugin was enough to remove this issue entirely. The problems seems specific to jgit.

Note that I'm using Jenkins 1.505 and all other plugins are up-to-date.

The details below contrast the working and broken builds (the only difference is the versions of the git plugins and their effects).

----------------------------------------------------------------------------
A normal build (when using git 1.2.0 and git-client 1.0.3):
----------------------------------------------------------------------------
Retriggered by user myself for Gerrit: http://gerritserver/710
Building on master in workspace /var/lib/jenkins/jobs/puppet/workspace
Checkout:workspace / /var/lib/jenkins/jobs/puppet/workspace - hudson.remoting.LocalChannel@1307e9af
Using strategy: Gerrit Trigger
Last Built Revision: Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
Using shallow clone
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository git://gitserver/puppet
git --version
git version 1.7.9.5
Fetching upstream changes from origin
Commencing build of Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
Checking out Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
[workspace] $ /bin/bash -ex /tmp/hudson3918244826320546803.sh
[--== ...and so on to a successful build ==--]

----------------------------------------------------------------------------
Build break (when using git 1.3.0 and git-client 1.0.4):
----------------------------------------------------------------------------
Retriggered by user myself for Gerrit: http://gerritserver/710
Building on master in workspace /var/lib/jenkins/jobs/puppet/workspace
Checkout:workspace / /var/lib/jenkins/jobs/puppet/workspace - hudson.remoting.LocalChannel@6f0bc962
Using strategy: Gerrit Trigger
Last Built Revision: Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
Using shallow clone
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository git://gitserver/puppet
git --version
git version 1.7.9.5
Commencing build of Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
Checking out Revision b3f2bd79784969bd18866ff666f0ab46136ff196 (mybranch)
FATAL: Could not checkout b3f2bd79784969bd18866ff666f0ab46136ff196
hudson.plugins.git.GitException: Could not checkout b3f2bd79784969bd18866ff666f0ab46136ff196
at org.jenkinsci.plugins.gitclient.JGitAPIImpl.checkout(JGitAPIImpl.java:68)
at hudson.plugins.git.GitAPI.checkout(GitAPI.java:208)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1273)
at hudson.plugins.git.GitSCM.access$1100(GitSCM.java:57)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1232)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1208)
at hudson.FilePath.act(FilePath.java:865)
at hudson.FilePath.act(FilePath.java:838)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1208)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1353)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:683)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:588)
at hudson.model.Run.execute(Run.java:1567)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: org.eclipse.jgit.api.errors.CheckoutConflictException: Checkout conflict with files:
apt/spec/fixtures/modules/apt <------ [ this is a symlink to ../../.. ]
apt/spec/fixtures/modules/apt/.gitignore
apt/spec/fixtures/modules/apt/CHANGELOG
apt/spec/fixtures/modules/apt/manifests
apt/spec/fixtures/modules/apt/manifests/init.pp
apt/spec/fixtures/modules/apt/spec
apt/spec/fixtures/modules/apt/spec/fixtures
apt/spec/fixtures/modules/apt/spec/fixtures/manifests
apt/spec/fixtures/modules/apt/spec/fixtures/manifests/site.pp
apt/spec/fixtures/modules/apt/spec/fixtures/modules
apt/spec/fixtures/modules/apt/spec/fixtures/modules/apt <--------- [ and so on... ]
apt/spec/fixtures/modules/apt/spec/fixtures/modules/apt/.gitignore
apt/spec/fixtures/modules/apt/spec/fixtures/modules/apt/CHANGELOG

[--== trimmed ~9 MB of recursive output ==--]

apt/spec/fixtures/modules/apt/tests/source.pp
at org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:411)
at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:391)
at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:240)
... 17 more

[--== build failed ==--]

Environment: Ubuntu 12.04 (see attachment for system details)
Project: Jenkins
Labels: git jenkins exception jgit git-client
Priority: Major Major
Reporter: Marty Falatic
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Reply via email to