-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workaround for submodules failing #5222
Conversation
Fix confirmed, but I recommend deleting the directory after deinitialization. I can't deinitialize the submodule without |
I put my thing down, flip it and reverse it
Missy Elliott has flipped it and reverse it. Tested on 16.04 and it seems to work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good. Could you rebase to squash the first commit and the last commit before merging while leaving the second commit as-is?
I refuse to rebase to such microscopic detail. If you want to, go ahead. |
Per Discord:
|
I found that |
Workaround git's inability to recover from a shallow clone
As discovered by @PhysSong,
git version 2.7.4
-- the default for Ubuntu 16.04 -- has a bug where it doesn't properly honor thedeinit
call, nor the--depth 2147483647
hack that was previously provided in #5182 as a workaround to the ECM nested submodule failing during shallow clone.This works around that bug by using a trick @PhysSong found, delete the
.git/modules/<path>
, then calldeinit
, then do the--depth 2147483647
hack.The advantage this has over just forcing full clones for older git versions is it fixes the issue reactively for offending submodules (e.g. ECM) without doing full clones for everything (e.g. the huge CalfStudioGear submodule).