Similar to `git`, when a user types an unknown command like `repo tart`,
we now use `difflib.get_close_matches` to suggest similar commands.
If `help.autocorrect` is set in the git config, it will optionally
prompt the user to automatically run the assumed command, or wait
for a configured delay before executing it.
Verification Steps:
1. Created a dummy repo project locally.
2. Verified `help.autocorrect=0|false|off|no|show` suggests
command and exits.
3. Verified `help.autocorrect=1|true|on|yes|immediate`
automatically runs suggestion.
4. Verified `help.autocorrect=<number>` runs after
`<number>*0.1` seconds.
5. Verified `help.autocorrect=never` exits immediately without
suggestions.
6. Verified `help.autocorrect=prompt` asks user to accept [y/n]
and handles correctly.
BUG: b/489753302
Change-Id: I6dcd63229cbd7badf5404459b48690c68f5b4857
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/558021
Tested-by: Sam Saccone <samccone@google.com>
Commit-Queue: Sam Saccone <samccone@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>