msysgit git-submodule: "Unable to fetch in submodule path ..."
From: Peter Krefting <hidden>
Date: 2016-06-15 22:46:58
Hi! This is with msysGit 1.6.3.2.1299.gee46c I am having some problem when checking out a large project with many submodules. After cloning the superproject, doing a git submodule --init will fail with a "Unable to fetch in submodule path '...'" for one specific module (does this on all machines that we have tried it on). I cannot see any error messages from git-fetch itself: [...] Initialized empty Git repository in c:/Users/peter/src/foo/bar/modules/foo/.git/ remote: Counting objects: 14752, done. remote: Compressing objects: 100% (5036/5036), done. remote: Total 14752 (delta 9278), reused 14752 (delta 9278)Receiving objects: 9 Receiving objects: 100% (14752/14752), 5.07 MiB | 3501 KiB/s, done. Resolving deltas: 100% (9278/9278), done. Unable to fetch in submodule path 'modules/foo' If I enter the modules/foo manually and enter git reset --hard or similar, everything works fine, and I do have the complete history. Looking at the code for git-submodule, it seems to suggest that git submodule is calling git-fetch without parameters, and checking the return value from it. It does, as indicated above, not seem to return any errors. I tried adding a "-v -v" to the git-fetch command line in git-submodule, and I see that it does terminate early. With the other modules, I get a list of all the cloned branches and tags. But for this module, it stops as above. I get some additional debug output, but can't quite say it helps me much: Initialized empty Git repository in c:/Users/peter/src/foo/baz/modules/foo/.git/ remote: Counting objects: 14752, done. remote: Compressing objects: 100% (5036/5036), done. emote: Total 14752 (delta 9278), reused 14752 (delta 9278) Receiving objects: 100% (14752/14752), 5.07 MiB | 3629 KiB/s, done. Resolving deltas: 100% (9278/9278), done. Server supports multi_ack Server supports side-band-64k Server supports ofs-delta Marking 76b96bfecc0d47013dd1fca1a555f12074eca814 as complete Unable to fetch in submodule path 'modules/foo' The string "Marking %s as complete" seems to stem from mark_recent_complete_commits() in builtin-fetch-pack.c. The other messages seems to stem from do_fetch_pack() in the same file, so it gets there and not further. I cannot seem to find any exit point. Does anyone know how to continue debugging, or know what might be going wrong? -- \\// Peter - http://www.softwolves.pp.se/