msysgit git-submodule: "Unable to fetch in submodule path ..."
- From
Peter Krefting <peter@softwolves.pp.se>
- Date
- Jun 18, 2009, 13:10 UTC
- Message-ID
- <alpine.DEB.2.00.0906181310400.23400@ds9.cixit.se>
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/