Exception during git checkout using jenkins: “No such file or directory”

I am trying to poll git repo from jenkins.
But it throws below exception..

FATAL: Could not checkout null with start point 1abd809011d37508b783f4f74245178ed632295a
hudson.plugins.git.GitException: Could not checkout null with start point 1abd809011d37508b783f4f74245178ed632295a

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkoutBranch(CliGitAPIImpl.java:1274)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:881)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:651)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:560)
at hudson.model.Run.execute(Run.java:1670)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
Caused by: hudson.plugins.git.GitException: Command "git checkout -f 1abd809011d37508b783f4f74245178ed632295a" returned status code 128:
stdout: 
stderr: error: unable to create file sparkIncentiveCommon/src/main/java/com/ebay/spark/incentiveService/supportedpayment/SparkSupportedPaymentIncentiveRequest.java (No such file or directory)
fatal: cannot create directory at 'sparkIncentiveService/src/main/webapp/META-INF/configuration/QA/config/com/ebay/domain/core/common/featurecontingency': No such file or directory

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1148)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1125)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1121)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:937)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand(CliGitAPIImpl.java:947)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkout(CliGitAPIImpl.java:1248)
at hudson.plugins.git.GitAPI.checkout(GitAPI.java:208)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkoutBranch(CliGitAPIImpl.java:1258)
... 9 more

Jenkins version – 1.549
Git plugin ver – 2.0.1

  • JUnit XML format specification that Hudson supports
  • Jenkins plugin, how to execute system command on remote node?
  • Running pylint against only changed lines/files with jenkins
  • Jenkins - Mistyping Git Branch Name
  • How to force Jenkins to skip a downstream job if a new build is waiting in the pipeline?
  • Execute Shell Script after post build in Jenkins
  • How to connect Bitbucket to Jenkins properly
  • Retrieving git branch name in prompt or Android gradle: on Jenkins it returns HEAD
  • 2 Solutions collect form web for “Exception during git checkout using jenkins: “No such file or directory””

    Finally, the native git for windows has an option for long paths:

    The msysgit development team has implemented what appears to be a
    solution in msysgit 1.9.0. It appears that the solution needs to be
    specifically enabled, but it may allow you to resolve this problem by
    installing msystgit 1.9.0 and running

    git config –global core.longpaths true

    Refer to
    https://github.com/msysgit/git/commit/c5f98452e98dca292c615000df7973ead63cf29b
    for more details on the option. You should probably only enable that
    option if you encounter the problem, since the msysgit people warn
    that there may be compatibility issues with other tools when longpaths
    are enabled in core git.

    We had the same issue. After some research it seems that the Jenkins git plugin cannot cope with too long paths (> 259 chars) under Windows environments. To be more precise – the git plugin uses git via command line in the latest version and this cannot cope with too long paths. Formerly it used JGit implementation that doesn’t have this issue. You can still switch back to this implementation with the Jenkins command line argument:

    “-Dorg.jenkinsci.plugins.gitclient.Git.useCLI=false” (same for slaves)

    or just choose JGit as implementation in the Jenkins configuration dialogue.

    With this everything runs fine. But don’t forget that JGit is no fully featured native git!

    Git Baby is a git and github fan, let's start git clone.