Subject: Re: [RFC] Submodules in GIT

From: Martin Waitz <[email-masked]>
Date: Fri, 1 Dec 2006 10:57:51 +0100

hoi :)

On Fri, Dec 01, 2006 at 09:19:04AM +0000, Andy Parkins wrote:
> Let's imagine a supermodule repository, and guess at it in more detail (I'll 
> abbreviate some of the less interesting output):
> 
> $ git-cat-file -p HEAD
> tree fb02e78085ecf2f29045603df858b5362e5bf8a4
> parent 4f2dba685507e4a8e07dac298c4024feaec6bd7d
> author Andy Parkins
> committer Andy Parkins 
> $ git-cat-file -p fb02e78085ecf2f29045603df858b5362e5bf8a4
> 100644 blob 46bd4e284a57e2faa539e7b72d62a38867075af5    Makefile
> 040000 tree 49ea01373a986a3db44d66702714aa75059ffa2c    doc
> 040000 subm d0a877464dc0198667a3e27ed3af8448ddacf947    libxcb

at the moment, it is:
  140000 commit ccddf1d4b0cf7fd3a699d8b33cf5bc4c5c4435b7  libxcb

> The "subm" type is our new ODB object that's going to store whatever we will 
> need to access the submodule.  "libxcb" has already told us where this 
> submodule is in the supermodule tree.
> 
> $ git-cat-file -p d0a877464dc0198667a3e27ed3af8448ddacf947
> submodulecommithash ccddf1d4b0cf7fd3a699d8b33cf5bc4c5c4435b7
> submoduleurlhint git://anongit.freedesktop.org/git/xcb/libxcb

So why do you need the url hint committed to the supermodule?
We don't store remote information in the object database, too.
Remember: this is still a distributed project, there is no one URL to
any submodule.

> I say:
>  submodulecommithash points at a commit /in the submodule/

But unluckily, this does not work.
You really have to be able to traverse the entire commit chain
from the supermodule into all submodules.

-- 
Martin Waitz