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

GIT submodules

From
RHRene Herman <rene.herman@keyaccess.nl>
Date
Feb 7, 2008, 21:24 UTC
Message-ID
<47AB771C.8020402@keyaccess.nl>
In-Reply-To
<s5h7ihhknez.wl%tiwai@suse.de>
On 07-02-08 12:37, Takashi Iwai wrote:
(sorry, that's not git-devel@, but simply git@)
Show 5 quoted lines
>> I believe the git submodule stuff would also nicely allow all of ALSA to be 
>> one giant repo basically, with kernel, lib, ..., as submodules.
> 
> Just out of curiosity, what could be a merit of submodules in the case
> of ALSA?

Given that they're used for larger projects, I can't say I've used them but I read about them when Linus mentioned them in the context of KDE maybe switching:

http://lwn.net/Articles/246381/

Basically, submodules are the actual git repositories with one organizing superproject. This seems to be a fairly nice description of the submodule support:

http://www.ishlif.org/blog/linux/git-submodules/

What they provide is stitching the parts together nicely into one coherent release. In this case, you'd have alsa-driver, alsa-lib, alsa-utils and so on repos, and an "alsa-project" superproject tying them together, where you could do checkouts of a complete coherent release off all the modules for example.

As said, I haven't actually used them, so I've added the git list (*) to see if anyone has something to add, correct or explain (please do!). Submodules seem to be intended exactly for the kind of setup that ALSA is using with the many semi-independent parts...

(*) git list: alsa-devel is moderated for non-subscribers but you'll be whitelisted after landing in the queue once if you're not a subscriber

Rene.
Message 1 of 1 in “GIT submodules”
  1. Rene HermanFeb 7, 2008

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.