submodule--helper: have --require-init imply --init

Adjust code added in 0060fd1511b (clone --recurse-submodules: prevent name squatting on Windows, 2019-09-12) to have the internal --require-init option imply --init, rather than having "git-submodule.sh" add it implicitly. This change doesn't make any difference now, but eliminates another special-case where "git submodule--helper update"'s behavior was different from "git submodule update". This will make it easier to eventually replace the cmd_update() function in git-submodule.sh. We'll still need to keep the distinction between "--init" and "--require-init" in git-submodule.sh. Once cmd_update() gets re-implemented in C we'll be able to change variables and other code related to that, but not yet. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ævar Arnfjörð Bjarmason committed Jun 28, 2022 at 12:05 UTC d9c7f69aaa6b001949e9d2b693c22c595cc9d0d6
2 files changed +4 -2
builtin/submodule--helper.c
+4 -1
@@ -2618,7 +2618,7 @@ static int module_update(int argc, const char **argv, const char *prefix)
2618 OPT_BOOL(0, "progress", &opt.progress,
2619 N_("force cloning progress")),
2620 OPT_BOOL(0, "require-init", &opt.require_init,
2621 - N_("disallow cloning into non-empty directory")),
2621 + N_("disallow cloning into non-empty directory, implies --init")),
2622 OPT_BOOL(0, "single-branch", &opt.single_branch,
2623 N_("clone only one branch, HEAD or --branch")),
2624 OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options),
@@ -2642,6 +2642,9 @@ static int module_update(int argc, const char **argv, const char *prefix)
2642 argc = parse_options(argc, argv, prefix, module_update_options,
2643 git_submodule_helper_usage, 0);
2644
2645 + if (opt.require_init)
2646 + opt.init = 1;
2647 +
2648 if (filter_options.choice && !opt.init) {
2649 usage_with_options(git_submodule_helper_usage,
2650 module_update_options);
git-submodule.sh
-1
@@ -251,7 +251,6 @@ cmd_update()
251 init=1
252 ;;
253 --require-init)
254 - init=1
254 require_init=1
255 ;;
256 --remote)