gitversion-controldvcsgit-submodules

Git Submodules: Is it possible to have more than one URL for each?


I was wondering if it is possible to have more than one URL for each git submodule. It would be interested to have more than one source of it if one of them is down or someone is behind a proxy that blocks one of them.

Have you ever had this problem? How would you solve it?


Solution

  • As far as I know, one submodule has only one url, which is referenced in:

         $ cat .gitmodules
         [submodule "a"]
                 path = a
                 url = /home/moses/subtut/public/a/.git
         [submodule "b"]
                 path = b
                 url = /home/moses/subtut/public/b/.git
    

    Meaning if that url is down, it may have to be changed in those two locations, but I have not tested that process.


    Good comments from Gattster

    git submodule sync. 
    

    According to the docs:

    Synchronizes submodules' remote URL configuration setting to the value specified in .gitmodules.
    This is useful when submodule URLs change upstream and you need to update your local repositories accordingly.

    That being said, modifying .gitmodule might be better done in isolation (i.e. in a branch) until those new url can be validated/published.