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

git push recurse.submodules behavior changed in 2.13

From
John Shahid <jvshahid@gmail.com>
Date
May 27, 2017, 13:31 UTC
Message-ID
<CAE5=+KX57KM+6n9NpePw9KYPXFy7UH-WRgSwaJDnvRofYFXm7Q@mail.gmail.com>
Hi all,

It looks like the git push recurse-submodules behavior has changed. Currently with 2.13 you cannot run "git push --recurse-submodules=on-demand" if the parent repo is on a different branch than the sub repos, e.g. parent repo is on "develop" and sub-repo on "master". I created a test that can be found here [1].

A bisect shows that the change to propagate refspec [2] to the submodules is the culprit. imho this is an undesired change in behavior. I looked at the code but couldn't see an easy way to fix this issue without breaking the feature mentioned above. The only option I can think of is to control the refspec propagation behavior using a flag, e.g. "--propagate-refspecs" or add another recurse-submodules option, e.g. "--recurse-submodules=propagate"

What do you all think ?

[1] https://gist.github.com/jvshahid/b778702cc3d825c6887d2707e866a9c8 [2] https://github.com/git/git/commit/06bf4ad1db92c32af38e16d9b7f928edbd647780

Next: Junio C Hamano
Message 1 of 10 in “git push recurse.submodules behavior changed in 2.13”
  1. John ShahidMay 27, 2017
  2. Junio C HamanoMay 29, 2017
  3. Stefan BellerMay 29, 2017
  4. John ShahidMay 30, 2017
  5. Brandon WilliamsMay 30, 2017
  6. Jonathan NiederMay 30, 2017
  7. John ShahidMay 31, 2017
  8. John ShahidJun 10, 2017
  9. Stefan BellerJun 12, 2017
  10. John ShahidJun 16, 2017

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.