aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/push.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-11-23 11:22:25 +0900
committerJunio C Hamano <gitster@pobox.com>2022-11-23 11:22:25 +0900
commit173fc54b005c92dc0da0fe5e71034128eddbacc8 (patch)
tree869d4529c5bc12b559393391d3dcc45b9260b980 /builtin/push.c
parent8d7b35b43df56bacd005492402c6a583284c0fec (diff)
parente62f779ae67ce3babe9e4ee934469993a5e6df49 (diff)
downloadgit-173fc54b005c92dc0da0fe5e71034128eddbacc8.tar.gz
Merge branch 'jt/submodule-on-demand'
Push all submodules recursively with '--recurse-submodules=on-demand'. * jt/submodule-on-demand: Doc: document push.recurseSubmodules=only
Diffstat (limited to 'builtin/push.c')
-rw-r--r--builtin/push.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/builtin/push.c b/builtin/push.c
index f0329c62a2..60ac8017e5 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -466,8 +466,16 @@ static int option_parse_recurse_submodules(const struct option *opt,
if (unset)
*recurse_submodules = RECURSE_SUBMODULES_OFF;
- else
- *recurse_submodules = parse_push_recurse_submodules_arg(opt->long_name, arg);
+ else {
+ if (!strcmp(arg, "only-is-on-demand")) {
+ if (*recurse_submodules == RECURSE_SUBMODULES_ONLY) {
+ warning(_("recursing into submodule with push.recurseSubmodules=only; using on-demand instead"));
+ *recurse_submodules = RECURSE_SUBMODULES_ON_DEMAND;
+ }
+ } else {
+ *recurse_submodules = parse_push_recurse_submodules_arg(opt->long_name, arg);
+ }
+ }
return 0;
}