{"thread":{"id":"59487","subject":"Git submodule update on rebase or merge","startedAt":"2023-03-28T07:04:46Z","lastAt":"2023-03-28T07:04:46Z","messageCount":1,"participants":["peregineme"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"474268","messageId":"CAO_O05BjFve4=xXaqf7xX8Ls9h0jPHzx6stDLuEFvODyqcRiqw@mail.gmail.com","threadId":"59487","inReplyTo":null,"subject":"Git submodule update on rebase or merge","fromName":"peregineme","fromEmail":"peregineme@gmail.com","sentAt":"2023-03-28T07:04:30Z","receivedAt":"2023-03-28T07:04:46Z","isPatch":false,"sender":{"key":"peregineme@gmail.com","avatar":null},"body":"Why don't git rebase and merge have a --recurse-submodules option so\nthat it updates the submodules when the operation is completed\nsuccessfully?\n\nThe submodule.recurse configuration will thus affect the rebase and\nmerge commands so that the submodules are automatically updated when\nrunning rebase or merge, after all, this configuration is supposed to\nmake working with submodules automatic, especially when one is not\nmaking changes in the submodule, but just referencing it.\n\nThis seems very intuitive since commands like checkout and especially\nreset have the --recurse-submodules option, and even on the git rebase\npage it describes part of the git rebase process ass effectively\nrunning reset:\n\nThe current branch is reset to <upstream> or <newbase> if the --onto\noption was supplied. This has the exact same effect as git reset\n--hard <upstream> (or <newbase>). ORIG_HEAD is set to point at the tip\nof the branch before the reset.\n\nI expected that at least the git `submodule.recurse` configuration\nwill affect the rebase and merge.\n"}]}