Re: Suggestion for the "Did you mean this?" feature
- From
Alexei Lozovsky <a.lozovsky@gmail.com>
- Date
- Dec 18, 2016, 15:16 UTC
- Message-ID
- <CALhvvbZSn2KVeEw5L14WQTNwo7ZhN1DY-MG31ogA1ppUMUJvVA@mail.gmail.com>
- In-Reply-To
- <1482063500.10858.1.camel@gmail.com>
On 18 December 2016 at 14:18, Kaartic Sivaraam wrote:
Show 25 quoted lines
> Hello all, > > I have found the "Did you mean this?" feature of git as a very good > feature. I thought it would be even better if it took a step toward by > asking for a prompt when there was only one alternative to the command > that was entered. > > E.g. > >> unique@unique-pc:~$ git hepl >> git: 'hepl' is not a git command. See 'git --help'. >> >> Did you mean this? >> help >> [yes/No] : y >> usage: git [--version] [--help] [-C <path>] [-c name=value] >> [--exec-path[=<path>]] [--html-path] [--man-path] [--info- >> path] >> .... > > This would make it even better for the user as it would avoid having to > correct the mistake long commands that had only a single error > (considering history feature is enabled). > > Is this is a good idea ?
It's definitely a good thing for human users. For example, I am annoyed from time to time when I type in some long spell, mistype one minor thing, and the whole command fails. Then I need to press <up>, correct the obvious typo, and run the command again.
Though, there is one aspect which may be the reason why git does not have this feature: it requires interactive input. For example, it won't work if some script tries to run an invalid git command. And git cannot really tell whether it is running interactively or in a batch mode. If it is running in batch mode then the whole script may hang indefinitely waiting for nonexistent input. This also may apply to using git with pipes.
Maybe a configuration option or some GIT_NO_PROMPT environment variable may be used to force disable this, but it still will be a hassle for the scripts.