Issue Type: Bug Bug
Assignee: Nicolas De Loof
Attachments: testcommon.bundle, testmain.bundle
Components: git-plugin
Created: 23/Feb/15 1:53 PM
Description:

When using a repository with (relative) submodules and sparse checkouts, the GIT plugin fails on the initial (and subsequent) checkouts and the resulting working copy does not include the files of the submodule:

Started by user Ronny Schütz
Building on master in workspace /var/lib/jenkins/jobs/testrs_git/workspace
Using strategy: Default
Last Built Revision: Revision dfe102e4a93d71f242bd23d67363c9398f01ea54 (refs/remotes/origin/master)
Cloning the remote Git repository
Using no checkout clone with sparse checkout.
Cloning repository ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git
 > /usr/bin/git init /var/lib/jenkins/jobs/testrs_git/workspace # timeout=360
Fetching upstream changes from ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git
 > /usr/bin/git --version # timeout=360
using GIT_SSH to set credentials ttbsbldmac101.ttg.global
 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git +refs/heads/*:refs/remotes/origin/*

 > /usr/bin/git config remote.origin.url ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git # timeout=360
 > /usr/bin/git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=360
 > /usr/bin/git config remote.origin.url ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git # timeout=360
Cleaning workspace
 > /usr/bin/git rev-parse --verify HEAD # timeout=360
No valid HEAD. Skipping the resetting
 > /usr/bin/git clean -fdx # timeout=360
Fetching upstream changes from ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git
using GIT_SSH to set credentials ttbsbldmac101.ttg.global
 > /usr/bin/git -c core.askpass=true fetch --tags --progress ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git +refs/heads/*:refs/remotes/origin/*
getCandidateRevisions(false,origin/master,,,,remoteUrls=[ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git],buildsByBranchName={refs/remotes/origin/master=Build #15 of Revision dfe102e4a93d71f242bd23d67363c9398f01ea54 (refs/remotes/origin/master)},lastBuild=Build #15 of Revision dfe102e4a93d71f242bd23d67363c9398f01ea54 (refs/remotes/origin/master)]) considering branches to build
Qualifying origin/master as a branch in repository origin -> refs/remotes/origin/master
Qualifying origin/master as a branch in repository origin -> refs/remotes/origin/origin/master
 > /usr/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=360
rev-parse refs/remotes/origin/master -> AnyObjectId[dfe102e4a93d71f242bd23d67363c9398f01ea54]
Found a new commit AnyObjectId[dfe102e4a93d71f242bd23d67363c9398f01ea54] to be built on refs/remotes/origin/master
 > /usr/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=360
Failed to rev-parse: refs/remotes/origin/origin/master
Checking out Revision dfe102e4a93d71f242bd23d67363c9398f01ea54 (refs/remotes/origin/master)
 > /usr/bin/git config core.sparsecheckout # timeout=360
 > /usr/bin/git config core.sparsecheckout true # timeout=360
 > /usr/bin/git read-tree -mu HEAD # timeout=360
Command "/usr/bin/git read-tree -mu HEAD" returned status code 128:
stdout: 
stderr: fatal: Not a valid object name HEAD

 > /usr/bin/git checkout -f dfe102e4a93d71f242bd23d67363c9398f01ea54
 > /usr/bin/git rev-list dfe102e4a93d71f242bd23d67363c9398f01ea54 # timeout=360
[workspace] $ /bin/sh -xe /var/lib/jenkins/tmp/hudson5727280207521334905.sh
+ find . '!' -path '*/.git/*'
+ sort
.
./dir1
./dir1/test1
./dir2
./dir2/test2
./.git
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: SUCCESS

Repositories (attached):

  • testcommon
    • commonfile1
    • commonfile2
  • testmain
    • dir1/test1
    • dir2/test2
    • dir3/test3
    • testcommon (submodule; referencing testcommon via ../testcommon.git)

Jenkins job settings:

  • Source code management: GIT
    • Repository: ssh://git@localhost:19999/mnt/fatdisk/git/testmain.git
    • Branches: */master
    • Clean after checkout
    • Advanced submodules behavior
      • Recursively update submodules: checked
    • Sparse checkout paths
      • dir1
      • dir2
  • Execute shell (to log working copy)
    • find . ! -path "/.git/" | sort

If I remove the sparse checkout option, the submodule is checked out correctly.

Project: Jenkins
Priority: Major Major
Reporter: Ronny Schuetz
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to