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

Re: Git submodule for a local branch?

From
Jens Lehmann <jens.lehmann@web.de>
Date
Oct 23, 2012, 20:57 UTC
Message-ID
<508704D5.9020902@web.de>
In-Reply-To
<20121022123714.GL25563@odin.tremily.us>
Am 22.10.2012 14:37, schrieb W. Trevor King:
Show 20 quoted lines
> I have a bunch of branches in my repo (a, b, c, …), and I'd like to
> check them out into subdirectories of another branch (index).  My
> initial inclination was to use something like
> 
>   $ git checkout index
>   $ git branch
>     a
>     b
>     c
>   * index
>   $ git submodule add -b a --reference ./ ./ dir-for-a/
>   $ git submodule add -b b --reference ./ ./ dir-for-b/
>   $ git submodule add -b c --reference ./ ./ dir-for-c/
> 
> but cloning a remote repository (vs. checking out a local branch)
> seems to be baked into the submodule implementation.  Should I be
> thinking about generalizing git-submodule.sh, or am I looking under
> the wrong rock?  My ideal syntax would be something like
> 
>   $ git submodule add -b c --local dir-for-c/

But then we'd have to be able to have two (or more) work trees using the same git directory, which current submodule code can't.

> The motivation is that I have website that contains a bunch of
> sub-sites, and the sub-sites share content.  I have per-sub-site
> branches (a, b, c) and want a master branch (index) that aggregates
> them.  Perhaps this is too much to wedge into a single repository?

To me this sounds upside-down. I'd put the three sub-sites into different repositories and the shared content into a submodule that all three sub-sites use. At least that is how I do all my content sharing on the websites I have done ... does that make sense?

Previous: W. Trevor KingNext: W. Trevor King
Message 3 of 4 in “Git submodule for a local branch?”
  1. W. Trevor KingOct 22, 2012
  2. W. Trevor KingOct 23, 2012
  3. Jens LehmannOct 23, 2012
  4. W. Trevor KingOct 23, 2012

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.