git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Submodule using different repository URLs

From
Johan Herland <johan@herland.net>
Date
Jul 13, 2009, 10:59 UTC
Message-ID
<200907131259.42313.johan@herland.net>
In-Reply-To
<5BE6F3DC-4B00-4D84-8D0E-41057735483F@petervoss.org>
On Monday 13 July 2009, Peter Voss wrote:
Show 21 quoted lines
> Hi,
>
> I want to use the git submodule feature to move part of my code to a
> different repository at github.
>
> The issue is that developers should use different repository URLs for
> the submodule depending on whether they have commit rights or not.
>
> At the beginning I was using the public URL to set-up the submodule:
> git submodule add git://github.com/x/mymodule.git mymodule
>
> The issue is that some developers are working behind a firewall that
> blocks the git protocol. These could only use the git@github.com:x/
> mymodule.git URL to get access.
> But other developers can only go through the public URL git://
> github.com/x/mymodule.git. So whatever I use it won't work for
> everybody.
>
> What's the best way to deal with that? Could I set-up different
> repository URLs for one and the same submodule and use which one is
> appropriate?

You might be able to pull this off using relative submodule URLs. If the submodule URLs in .gitmodules are relative (i.e. ../foo.git or similar), they will be resolved to absolute URLs using the origin URL of the super-repo. I.e. if you cloned the super-repo from git://github.com/x/mymodule.git, the ../foo.git submodule will be cloned from git://github.com/x/foo.git, and if you cloned from git@github.com:x/mymodule.git, the submodule will be cloned from git@github.com:x/foo.git.

Hope this helps,
Have fun! :)
...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Previous: Peter VossNext: Peter Voss
Message 4 of 8 in “Submodule using different repository URLs”
  1. Peter VossJul 13, 2009
  2. Santi BéjarJul 13, 2009
  3. Peter VossJul 13, 2009
  4. Johan HerlandJul 13, 2009
  5. Peter VossJul 13, 2009
  6. Johan HerlandJul 13, 2009
  7. Johan HerlandJul 13, 2009
  8. Peter VossJul 13, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.