Reputation: 1647
I have git repository with two remotes (github and bitbucket). Inside I have submodule, that points accordingly to another github/bitbucket repo. But in the definition of submodule is url, that is hardcoded. Can I have two of them? Or one per remote? So that my main repo on github points to submodule on github. And my main repo on Bitbucket points to submodule on bitbucket?
[submodule "programs/mgr-nancy-demo"]
path = programs/mgr-nancy-demo
url = [email protected]:wedkarz/mgr-nancy-demo.git
Upvotes: 31
Views: 11213
Reputation: 15650
It seems you can use relative URLs for submodules. From git help submodules
:
COMMANDS
add
[...]
<repository>
is the URL of the new submodule’s origin repository. This may be either an absolute URL, or (if it begins with ./ or ../), the location relative to the superproject’s origin repository
So, if you follow the same naming convention in both sites (ie, github.com/you/parent-project
, bitbucket.org/you/parent-project
, github.com/you/child-project
and bitbucket.org/you/child-project
), you should be able to set the submodule like this:
[submodule "programs/mgr-nancy-demo"]
path = programs/mgr-nancy-demo
url = ../mgr-nancy-demo.git
Test it - YMMV!
Upvotes: 40