Re: Subtree with submodule inside?

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: Subtree with submodule inside?

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:02:09

Jonathan Nieder [off-list ref] writes:
 2. Submodules aware of their superproject and of the parent's branches.
    In other words, submodules would act as thought 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?

Re: Subtree with submodule inside?

From: Jonathan Nieder <hidden>
Date: 2016-06-15 23:02:09

Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
 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

Re: Subtree with submodule inside?

From: Heiko Voigt <hidden>
Date: 2016-06-15 23:02:09

On Wed, Aug 06, 2014 at 04:51:52PM -0700, Jonathan Nieder wrote:
Junio C Hamano wrote:
quoted
Jonathan Nieder [off-list ref] writes:
quoted
quoted
 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.
I like this idea. It could solve many issues and help in many cases I think.
Since we are currently quite busy with other things I took the liberty of
adding an ideas section in Jens submodule wiki[1]. This way we do not forget
about it and/or can refer others to it more easily.

I would appreciate if someone could have a look whether I described the idea
clearly enough.

Cheers Heiko

[1] https://github.com/jlehmann/git-submod-enhancements/wiki#dynamic-superproject-refs-in-submodules
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help