Subject: Re: [RFC] Submodules in GIT

From: Martin Waitz <[email-masked]>
Date: Fri, 1 Dec 2006 13:34:47 +0100

hoi :)

On Fri, Dec 01, 2006 at 12:16:00PM +0000, Andy Parkins wrote:
> That's fine, I was only using the proxy object to allow additional
> information into the submodule object.  Actually, I think it would
> always be better to use a proxy object otherwise you have an error in
> the tree object, because it will refer to an object that does not
> exist.  The proxy object is allowed to refer to objects that don't
> exist because it's not a tree object.

It is exactly the aim of my implementation to not have any reference to
something that is not accessible in the supermodule repository.

> > > Is that commit in the submodule or the supermodule?
> >
> > Well, logically that commit belongs to the submodule and is referenced
> > by the tree in the supermodule.
> > Phyisically it is stored in the projects object database which is
> > shared between the supermodule and all submodules (at least in my
> > implementation).
> 
> Hmmm, "shared"?  It must still be in the submodule physically though,
> and presumably the supermodule uses alternatives to get access to it?
> Otherwise the submodule will be impossible to separate from the
> supermodule.

Yes, you can't separate it my just moving it out of the supermodule,
but you can always clone the submodule alone.

> Okay.  I think I'm still a bit lost then.  I suppose I'll wait for your
> patches to understand.

have a look at http://git.admingilde.org/tali/git.git/module2.
If you want to try it out, have a look at t/t7500-submodule.sh on how to
create submodules.

-- 
Martin Waitz