Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes the specific instance of github submodules specified with a git:// path work.
In short it uses the github api and if it finds a .gitmodules file, it'll add in the right download urls for the correct change to base the submodule download on. Once the package is installed, it'll inject the submodule data into the zip file that is then extracted.
I was confused for a while why the submodule data didn't show up in the downloads attribute until I realized that the json fetched from wbond.net is "pre-made". As a test I hacked Package Control.py to specifically not use the wbond.net json for my package SublimeJava, and the code paths in these two commits worked with that. This hack has since been removed so the server side json will have to be re-created to include the submodule urls.
The reason I say this is a partial implementation of #126 is because it is really rather specific to github whereas a fuller solution might support submodules in various git repositories spread all over the net.