git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 17:24 UTC

Re: Option for "git submodule foreach" to also run on the parent git?

From
Jeff King <peff@peff.net>
Date
Mar 9, 2026, 19:30 UTC
Message-ID
<20260309193001.GD309867@coredump.intra.peff.net>
In-Reply-To
<66419a04-67b0-4b60-bf23-078cf92b2c04@nutanix.com>
On Mon, Mar 09, 2026 at 05:43:14PM +0000, Florian Schmidt wrote:
Show 9 quoted lines
> > but at that
> > point, wouldn't it be simpler to explain what you are doing as
> > 
> >      do-this . ;# do it here
> >      git submodule foreach do-this ;# do it there all over
> 
> That's basically what's I'm doing. I figured instead of doing "foo && git
> submodule foreach foo", a "git submodule foreach --also-parent foo" would be
> marginally neater. But I don't feel strongly about it.

These days we also have git-for-each-repo. It is primarily about running a command in a set of otherwise unrelated repos. But I wonder if:

  git for-each-repo --submodules do-this

would be a natural fit as an alternative to "git submodule foreach"? And then you can imagine a "--current" option to discover the current repo and include it in the list. And then:

  git for-each-repo --submodules --current do-this
would do what you want.

I dunno. I do not have any need for this myself, but just thinking out loud.

-Peff
Previous: Florian SchmidtNext: brian m. carlson
Message 4 of 6 in “Option for "git submodule foreach" to also run on the parent git?”
  1. Florian SchmidtMar 9, 2026
  2. Junio C HamanoMar 9, 2026
  3. Florian SchmidtMar 9, 2026
  4. Jeff KingMar 9, 2026
  5. brian m. carlsonMar 9, 2026
  6. D. Ben KnobleMar 9, 2026

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.