Message ID | 20210805192803.679948-1-kaartic.sivaraam@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | submodule--helper: fix incorrect newlines in an error message | expand |
Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes: > 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: > > [...] > > 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. Thanks for catching this and sending a patch! > [1]: https://lore.kernel.org/git/20210710074801.19917-5-raykar.ath@gmail.com/#t > > Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com> > --- > > 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? I had initially implemented that message as an fprintf() with return for the same reason, but Junio suggested we die() instead to keep the conversion more faithful to the original [1]. Although now that I think of it, it feels like a tradeoff between faithfulness to the original code and faithfulness to the original behaviour. I also think this change is fairly inconsequential and easily reversible so I am fine with it being done either way. [1] https://lore.kernel.org/git/xmqqk0n03k84.fsf@gitster.g/ > 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? I don't think that extra 'if' was intended. I think it's better to avoid the change I inadvertently introduced. > 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 " --- Atharva Raykar ಅಥರ್ವ ರಾಯ್ಕರ್ अथर्व रायकर
On 06/08/21 11:59 am, Atharva Raykar wrote: > > Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes: > >> 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: >> >> [...] >> >> 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. > > Thanks for catching this and sending a patch! > >> [1]: https://lore.kernel.org/git/20210710074801.19917-5-raykar.ath@gmail.com/#t >> >> Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com> >> --- >> >> 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? > > I had initially implemented that message as an fprintf() with return for > the same reason, but Junio suggested we die() instead to keep the > conversion more faithful to the original [1]. > > Although now that I think of it, it feels like a tradeoff between > faithfulness to the original code and faithfulness to the original > behaviour. I also think this change is fairly inconsequential and easily > reversible so I am fine with it being done either way. > > [1] https://lore.kernel.org/git/xmqqk0n03k84.fsf@gitster.g/ > I remember this discussion. But ... 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 you are unsure what this means choose another name with the '--name' option. ... I'm not able to understand how the 'fatal: ' prefix in the _middle_ of this information message would help the reader in any way :-/ If it had occurred at the beginning of the message that would've been different and likely useful too. I'll try sending a re-roll with a new change that moves the fatal to the beginning of the message and see how it goes. >> 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? > > I don't think that extra 'if' was intended. I think it's better to avoid > the change I inadvertently introduced. > I guess I spoke too soon. Regardless of the additional "... if ..." in the message, the conversion might introduce translation work as the variable substitution varies between shell and C. There isn't much we could do about this. I'm not sure if translators use any strategy to avoid redundant work during conversions like these. Jiang Xin (Cc-ed) might be able to shed some light. That said, I'll still revert the extra 'if' as you say it was introduced inadvertently.
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 "