diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-12-16 11:09:31 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-12-16 12:47:15 -0800 |
commit | a1bb8f45f1590f812badceea0b7c120074ec3e85 (patch) | |
tree | 3ce41a927bcca4baa26680cc33c79aa15fdc4795 /help.c | |
parent | e25e2b4201716a912b29397515a858238497dbdd (diff) | |
parent | 527b9d704d929a2fff2f9bf1c5e2856725c1416d (diff) | |
download | git-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.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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"); |