diff options
Diffstat (limited to 'submodule.c')
| -rw-r--r-- | submodule.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/submodule.c b/submodule.c index 8fa2ad457b..8ac2fca855 100644 --- a/submodule.c +++ b/submodule.c @@ -1130,6 +1130,12 @@ static int push_submodule(const char *path, if (for_each_remote_ref_submodule(path, has_remote, NULL) > 0) { struct child_process cp = CHILD_PROCESS_INIT; strvec_push(&cp.args, "push"); + /* + * When recursing into a submodule, treat any "only" configurations as "on- + * demand", since "only" would not work (we need all submodules to be pushed + * in order to be able to push the superproject). + */ + strvec_push(&cp.args, "--recurse-submodules=only-is-on-demand"); if (dry_run) strvec_push(&cp.args, "--dry-run"); |
