Browse Source

Merge branch 'ms/help-unknown'

* ms/help-unknown:
  help_unknown_cmd: do not propose an "unknown" cmd
maint
Junio C Hamano 14 years ago
parent
commit
c8409e716a
  1. 12
      help.c

12
help.c

@ -305,6 +305,10 @@ static void add_cmd_list(struct cmdnames *cmds, struct cmdnames *old) @@ -305,6 +305,10 @@ static void add_cmd_list(struct cmdnames *cmds, struct cmdnames *old)
#define SIMILARITY_FLOOR 7
#define SIMILAR_ENOUGH(x) ((x) < SIMILARITY_FLOOR)

static const char bad_interpreter_advice[] =
N_("'%s' appears to be a git command, but we were not\n"
"able to execute it. Maybe git-%s is broken?");

const char *help_unknown_cmd(const char *cmd)
{
int i, n, best_similarity = 0;
@ -329,6 +333,14 @@ const char *help_unknown_cmd(const char *cmd) @@ -329,6 +333,14 @@ const char *help_unknown_cmd(const char *cmd)
int cmp = 0; /* avoid compiler stupidity */
const char *candidate = main_cmds.names[i]->name;

/*
* An exact match means we have the command, but
* for some reason exec'ing it gave us ENOENT; probably
* it's a bad interpreter in the #! line.
*/
if (!strcmp(candidate, cmd))
die(_(bad_interpreter_advice), cmd, cmd);

/* Does the candidate appear in common_cmds list? */
while (n < ARRAY_SIZE(common_cmds) &&
(cmp = strcmp(common_cmds[n].name, candidate)) < 0)

Loading…
Cancel
Save