Re: [RFC] Submodules in GIT
- From
Martin Waitz <tali@admingilde.org>
- Date
- Dec 1, 2006, 17:14 UTC
- Message-ID
- <20061201171420.GF18810@admingilde.org>
- In-Reply-To
- <Pine.LNX.4.64.0612010844380.3695@woody.osdl.org>
hoi :)
On Fri, Dec 01, 2006 at 08:49:20AM -0800, Linus Torvalds wrote:
Show 6 quoted lines
> Think of it this way: one common use for submodules is really to just > (occasionally) track somebody elses code. The submodule should be a > totally pristine copy from somebody else (ie it might be the "intel driver > for X.org" submodule, maintained within intel), and the supermodule just > refers to it indirectly (ie the supermodule might be the "Fedora Core X > group" which contains all the different drivers from different people).
Yes, but it is not only about tracking, also about distributing submodules.
One Fedora X developer fixes a bug in the intel driver, commits that to the submodule and then updates the supermodule to the new version (by calling "git-update-index drivers/intel && git-commit" or something). Then another Feora X developer updates his X repository. By pulling the supermodule he also gets a new version of the submodule. And this new version of the submodule is stored in a branch which can be accessed by the submodule.
> A supermodule can never "contain changes" to a submodule.
The supermodule always contains _the_entire_ submodule with its complete history, so it also does contain changes. But it does not per-se contain changes, only indirectly (i.e. the commits in the submodule are not part of the supermodule commit chain).
> A supermodule would always just point to the submodule, and not have > any changes what-so-ever of its own. The submodule is self-sufficient, > and always contains all its _own_ changes.
Yes.
-- Martin Waitz