From 8af84dadb142f7321ff0ce8690385e99da8ede2f Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 31 Aug 2008 15:50:23 +0200 Subject: git wrapper: DWIM mistyped commands This patch introduces a modified Damerau-Levenshtein algorithm into Git's code base, and uses it with the following penalties to show some similar commands when an unknown command was encountered: swap = 0, insertion = 1, substitution = 2, deletion = 4 A typical output would now look like this: $ git sm git: 'sm' is not a git-command. See 'git --help'. Did you mean one of these? am rm The cut-off is at similarity rating 6, which was empirically determined to give sensible results. As a convenience, if there is only one candidate, Git continues under the assumption that the user mistyped it. Example: $ git reabse WARNING: You called a Git program named 'reabse', which does not exist. Continuing under the assumption that you meant 'rebase' [...] Signed-off-by: Johannes Schindelin Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- help.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'help.h') diff --git a/help.h b/help.h index 3f1ae89dd6..5fc7892705 100644 --- a/help.h +++ b/help.h @@ -5,7 +5,7 @@ struct cmdnames { int alloc; int cnt; struct cmdname { - size_t len; + size_t len; /* also used for similarity index in help.c */ char name[FLEX_ARRAY]; } **names; }; -- cgit v1.2.3