From: Adrian Ratiu Date: Tue, 16 Dec 2025 10:17:41 GMT Subject: Re: [PATCH v6 06/10] submodule--helper: add gitdir migration command Message-ID: <87y0n2g27u.fsf@collabora.com> In-Reply-To: On Tue, 16 Dec 2025, Patrick Steinhardt wrote: > On Sat, Dec 13, 2025 at 10:08:12AM +0200, Adrian Ratiu wrote: >> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c >> index 2b5b4f575b..458dc863df 100644 >> --- a/builtin/submodule--helper.c >> +++ b/builtin/submodule--helper.c >> @@ -1270,6 +1270,63 @@ static int module_gitdir(int argc, const char **argv, const char *prefix UNUSED, >> return 0; >> } >> >> +static int module_migrate(int argc UNUSED, const char **argv UNUSED, >> + const char *prefix UNUSED, struct repository *repo) >> +{ >> + struct strbuf module_dir = STRBUF_INIT; >> + DIR *dir; >> + struct dirent *de; >> + >> + if (repo_config_set_gently(repo, "core.repositoryformatversion", "1")) >> + die(_("could not set core.repositoryformatversion to 1. " >> + "Please enable it for migration to work, for example: " >> + "git config core.repositoryformatversion 1")); >> + >> + if (repo_config_set_gently(repo, "extensions.submodulePathConfig", "true")) >> + die(_("could not enable submodulePathConfig extension. It is required " >> + "for migration to work. Please enable it in the root repo: " >> + "git config extensions.submodulePathConfig true")); > > I think we should reverse the ordering here and first create the > "gitdir" config entries before we enable the extension itself. This > ensures that a halfway-aborted migration will still leave us in a good > state, as the config entries will be ignored until the extension is > enabled. Good point. Will do.