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

Re: Subtree with submodule inside?

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Aug 6, 2014, 23:51 UTC
Message-ID
<20140806235152.GB12427@google.com>
In-Reply-To
<xmqqr40tkxcp.fsf@gitster.dls.corp.google.com>
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
Show 18 quoted lines
>>  2. Submodules aware of their superproject and of the parent's branches.
>>     In other words, submodules would act as though under refs/ they
>>     had a symlink
>>
>> 	parent -> ../../../refs
>>
>>     So you could do
>>
>> 	git checkout --recurse-submodules master
>>
>> 	cd path/to/submodule
>> 	git checkout parent/heads/next
>>
>>     This would avoid danger from "git gc" in submodules and would
>>     get rid of most of the motivation for named branches in the
>>     submodule, I'd think.
>
> Are you assuming that they share their object stores?

No. The 'symlink' thing is a think-o. (When trying to explain the idea I ended up oversimplifying and speaking nonsense.)

What I wanted to say is that parent/heads/next would be a way to refer from the submodule to the same commit as

	refs/heads/next:path/to/submodule
refers to in the parent.

Thanks for clarifying, Jonathan

Previous: Junio C HamanoNext: Heiko Voigt
Message 7 of 8 in “Subtree with submodule inside?”
  1. Robert DaileyAug 6, 2014
  2. Junio C HamanoAug 6, 2014
  3. Robert DaileyAug 6, 2014
  4. Jens LehmannAug 6, 2014
  5. Jonathan NiederAug 6, 2014
  6. Junio C HamanoAug 6, 2014
  7. Jonathan NiederAug 6, 2014
  8. Heiko VoigtAug 7, 2014

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.