aboutsummaryrefslogtreecommitdiff
path: root/help.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-12-16 11:09:31 -0800
committerJunio C Hamano <gitster@pobox.com>2009-12-16 12:47:15 -0800
commita1bb8f45f1590f812badceea0b7c120074ec3e85 (patch)
tree3ce41a927bcca4baa26680cc33c79aa15fdc4795 /help.c
parente25e2b4201716a912b29397515a858238497dbdd (diff)
parent527b9d704d929a2fff2f9bf1c5e2856725c1416d (diff)
downloadgit-a1bb8f45f1590f812badceea0b7c120074ec3e85.tar.gz
git-a1bb8f45f1590f812badceea0b7c120074ec3e85.tar.xz
Merge branch 'maint' to sync with 1.6.5.7
* maint: Git 1.6.5.7 worktree: don't segfault with an absolute pathspec without a work tree ignore unknown color configuration help.autocorrect: do not run a command if the command given is junk Illustrate "filter" attribute with an example
Diffstat (limited to 'help.c')
-rw-r--r--help.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/help.c b/help.c
index e8db31f60..9da97d746 100644
--- a/help.c
+++ b/help.c
@@ -297,6 +297,9 @@ static void add_cmd_list(struct cmdnames *cmds, struct cmdnames *old)
old->names = NULL;
}
+/* An empirically derived magic number */
+#define SIMILAR_ENOUGH(x) ((x) < 6)
+
const char *help_unknown_cmd(const char *cmd)
{
int i, n, best_similarity = 0;
@@ -331,7 +334,7 @@ const char *help_unknown_cmd(const char *cmd)
n = 1;
while (n < main_cmds.cnt && best_similarity == main_cmds.names[n]->len)
++n;
- if (autocorrect && n == 1) {
+ if (autocorrect && n == 1 && SIMILAR_ENOUGH(best_similarity)) {
const char *assumed = main_cmds.names[0]->name;
main_cmds.names[0] = NULL;
clean_cmdnames(&main_cmds);
@@ -349,7 +352,7 @@ const char *help_unknown_cmd(const char *cmd)
fprintf(stderr, "git: '%s' is not a git-command. See 'git --help'.\n", cmd);
- if (best_similarity < 6) {
+ if (SIMILAR_ENOUGH(best_similarity)) {
fprintf(stderr, "\nDid you mean %s?\n",
n < 2 ? "this": "one of these");