This series teaches 'git push' to be able to only push submodules while leaving a superproject unpushed. This is a desirable feature in a scenario where updates to the superproject are handled automatically by some other means, perhaps a code review tool. In this scenario a developer could make a change which spans multiple submodules and then push their commits for code review. Upon completion of the code review, their commits can be accepted and applied to their respective submodules while the code review tool can then automatically update the superproject to the most recent SHA1 of each submodule. This would eliminate the merge conflicts in the superproject that could occur if multiple people are contributing to the same submodule. Brandon Williams (3): transport: refactor flag #defines to be more readable submodules: add RECURSE_SUBMODULES_ONLY value push: add option to push only submodules builtin/push.c | 2 ++ submodule-config.c | 2 ++ submodule.h | 1 + t/t5531-deep-submodule-push.sh | 21 +++++++++++++++++++++ transport.c | 15 +++++++++++---- transport.h | 31 ++++++++++++++++--------------- 6 files changed, 53 insertions(+), 19 deletions(-) -- 2.8.0.rc3.226.g39d4020