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

Re: Why do git submodules require manual checkouts and commits?

From
Avery Pennarun <apenwarr@gmail.com>
Date
May 16, 2008, 14:12 UTC
Message-ID
<32541b130805160712m24f24c6aw59b54a0f0ace6269@mail.gmail.com>
In-Reply-To
<alpine.DEB.1.00.0805161457250.30431@racer>
On 5/16/08, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 11 quoted lines
>  On Fri, 16 May 2008, Avery Pennarun wrote:
>  > So I think it would be very bad if the supermodule automatically
>  > updated to the latest version of the submodule whenever you commit in
>  > the submodule.  *However*, the other way around might be fine: if you
>  > commit in the supermodule, maybe it should commit in the submodule at
>  > the same time and link to that specific commit.  I'm pretty sure that
>  > idea doesn't have any *fundamental* flaws, it's just got a lot of
>  > really tricky details that need to be worked out.
>
> Just the fundamental flaw that you might _not_ want to commit that, just
>  as you can have a dirty Makefile _forever_.

I consider that one of the annoying details rather than a fundamental flaw. I agree that it's hard to solve though.

Think of it this way: I can commit, or not commit, my dirty Makefile at the same time as everything else (in a single project) with a single "git commit" line, depending on what I want to do. Things like "git commit -a" and "git add -u" speed up the common case where I just want to commit everything. But with submodules, that common case looks more like this:

   cd sub
   git checkout -b manual_branchname_because_there_was_no_default
   git commit -a
   git push etc.
   cd ..
   git commit -a
   git push etc.

That's *really* tedious, and the number of commands multiplies when you have more than one submodule going at once.

I think git's submodules are awesome because they *don't* have fundamental flaws. They just need an (optional) more automated workflow for the common case. And I'll be sure to propose one when I figure out what my common case actually is :)

Have fun,
Avery
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 5 of 9 in “Why do git submodules require manual checkouts and commits?”
  1. skillzero@gmail.comMay 16, 2008
  2. Johannes SchindelinMay 16, 2008
  3. Avery PennarunMay 16, 2008
  4. Johannes SchindelinMay 16, 2008
  5. Avery PennarunMay 16, 2008
  6. Johannes SchindelinMay 16, 2008
  7. Avery PennarunMay 16, 2008
  8. Lars HjemliMay 16, 2008
  9. skillzero@gmail.comMay 19, 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.