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

Re: Submodule using different repository URLs

From
Peter Voss <info@petervoss.org>
Date
Jul 13, 2009, 11:51 UTC
Message-ID
<64652870-CF95-49A7-920A-0F9A6C202B40@petervoss.org>
In-Reply-To
<200907131259.42313.johan@herland.net>
Hi Johan,
On 13.07.2009, at 12:59, Johan Herland wrote:
Show 32 quoted lines
> On Monday 13 July 2009, Peter Voss wrote:
>> 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.

That's a good hint. Unfortunately I can't use this to go up 2 directories. I.e. I can't get from git@github.com:xxx/mymodule.git to git@github.com:yyy/foo.git

Using the relative URL ../../yyy/foo.git leads to the result: Clone of 'git@github.com:xxx/yyy/foo.git' into submodule path 'foo' failed

So I basically cannot replace the xxx part.

Anyway, thanks for the hint. --Peter

Show 11 quoted lines
> Hope this helps,
>
>
> Have fun! :)
>
> ...Johan
>
>
> -- 
> Johan Herland, <johan@herland.net>
> www.herland.net
Previous: Johan HerlandNext: Johan Herland
Message 5 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.