Marc Branchaud <[email protected]> writes:
> Signed-off-by: Marc Branchaud <[email protected]>
> ---
>
> On 2016-12-18 07:48 PM, Chris Packham wrote:
>>
>> This feature already exists (although it's not interactive). See
>> help.autoCorrect in the git-config man page. "git config
>> help.autoCorrect -1" should to the trick.
>
> Awesome, I was unaware of this feature. Thanks!
>
> I found the message it prints a bit awkward, so here's a patch to fix it up.
>
> Instead of:
>
> WARNING: You called a Git command named 'lgo', which does not exist.
> Continuing under the assumption that you meant 'log'
> in 1.5 seconds automatically...
>
> it's now:
>
> WARNING: You called a Git command named 'lgo', which does not exist.
> Continuing in 1.5 seconds under the assumption that you meant 'log'.
>
> M.
Sounds better.
The "Instead of ... we now show ..." description deserves to be in
the log message, not after "---" line.
s/under the assumption/assuming/ would make it even shorter and give
the potentially long corrected command name a chance to still fit on
the line without wrapping, I would think, though.
>
> help.c | 18 ++++++++++++------
> 1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/help.c b/help.c
> index 53e2a67e00..55350c0673 100644
> --- a/help.c
> +++ b/help.c
> @@ -381,12 +381,18 @@ const char *help_unknown_cmd(const char *cmd)
> clean_cmdnames(&main_cmds);
> fprintf_ln(stderr,
> _("WARNING: You called a Git command named '%s', "
> - "which does not exist.\n"
> - "Continuing under the assumption that you meant
> '%s'"),
> - cmd, assumed);
> - if (autocorrect > 0) {
> - fprintf_ln(stderr, _("in %0.1f seconds
> automatically..."),
> - (float)autocorrect/10.0);
> + "which does not exist."),
> + cmd);
> + if (autocorrect < 0)
> + fprintf_ln(stderr,
> + _("Continuing under the assumption that "
> + "you meant '%s'."),
> + assumed);
> + else {
> + fprintf_ln(stderr,
> + _("Continuing in %0.1f seconds under the "
> + "assumption that you meant '%s'."),
> + (float)autocorrect/10.0, assumed);
> sleep_millisec(autocorrect * 100);
> }
> return assumed;