A refactoring[1] done as part of the recent conversion of 'git submodule add' to builtin, changed the error message shown when a Git directory already exists locally for a submodule name. Before the refactoring, the error used to appear like so: --- START OF OUTPUT --- $ git submodule add ../sub/ subm A git directory for 'subm' is found locally with remote(s): origin /me/git-repos-for-test/sub If you want to reuse this local git directory instead of cloning again from /me/git-repos-for-test/sub use the '--force' option. If the local git directory is not the correct repo or you are unsure what this means choose another name with the '--name' option. --- END OF OUTPUT --- After the refactoring the error started appearing like so: --- START OF OUTPUT --- $ git submodule add ../sub/ subm A git directory for 'subm' is found locally with remote(s): origin /me/git-repos-for-test/sub fatal: If you want to reuse this local git directory instead of cloning again from /me/git-repos-for-test/sub use the '--force' option. If the local git directory is not the correct repo or if you are unsure what this means, choose another name with the '--name' option. --- END OF OUTPUT --- As one could observe the remote information is printed along with the first line rather than on its own line. Also, there's an additional newline following output. Make the error message consistent with the error message that used to be printed before the refactoring. [1]: https://lore.kernel.org/git/20210710074801.19917-5-raykar.ath@xxxxxxxxx/#t Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> --- Even with this patch, the error message is still not fully consistent with the one that used to be printed before the refactoring. Here's the diff: 3c3 < If you want to reuse this local git directory instead of cloning again from --- > fatal: If you want to reuse this local git directory instead of cloning again from 6c6 < or you are unsure what this means choose another name with the '--name' option. --- > or if you are unsure what this means, choose another name with the '--name' option. The first part shows that it is additionally prefixed with 'fatal: '. While the 'fatal :' prefix made sense in other cases, I wonder if it's helpful in this case as the message being printed is an informative one. Should we avoid using 'die' to print this message? The second part of the diff shows that there's some small grammatcial tweaks in the last line. While I appreciate the intention, I'm not very sure if this change is a strict improvement. I wonder about this as the original sounded good enough to me and thus it feels like the change in message is triggering unnecesssary translation work. Should we avoid the change? Or does it actually seem like an improvement to the message? builtin/submodule--helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 3cbde305f3..560be07091 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -2824,7 +2824,7 @@ static int add_submodule(const struct add_data *add_data) if (is_directory(submod_gitdir_path)) { if (!add_data->force) { fprintf(stderr, _("A git directory for '%s' is found " - "locally with remote(s):"), + "locally with remote(s):\n"), add_data->sm_name); show_fetch_remotes(stderr, add_data->sm_name, submod_gitdir_path); @@ -2835,7 +2835,7 @@ static int add_submodule(const struct add_data *add_data) "use the '--force' option. If the local git " "directory is not the correct repo\n" "or if you are unsure what this means, choose " - "another name with the '--name' option.\n"), + "another name with the '--name' option."), add_data->realrepo); } else { printf(_("Reactivating local git directory for " -- 2.32.0.385.g8c8534732c.dirty