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