Re: git push recurse.submodules behavior changed in 2.13
From: Junio C Hamano <hidden>
Date: 2017-05-29 02:44:40
John Shahid [off-list ref] writes:
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
Brandon? I cannot quite tell from the report what "has changed" refers to, what failures "you cannot run" gets, and if that is a desirable thing to do (i.e. if letting the user run it in such a configuration would somehow break things, actively erroring out may be a deliberate change) or not (i.e. an unintended regression).