Commit 1f08e5ce authored by Alex Riesen's avatar Alex Riesen Committed by Junio C Hamano

Allow git help work without PATH set

Just because we can
Signed-off-by: default avatarAlex Riesen <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent c7371e99
......@@ -178,37 +178,34 @@ void load_command_list(const char *prefix,
struct cmdnames *other_cmds)
{
const char *env_path = getenv("PATH");
char *paths, *path, *colon;
const char *exec_path = git_exec_path();
if (exec_path)
if (exec_path) {
list_commands_in_dir(main_cmds, exec_path, prefix);
if (!env_path) {
fprintf(stderr, "PATH not set\n");
exit(1);
qsort(main_cmds->names, main_cmds->cnt,
sizeof(*main_cmds->names), cmdname_compare);
uniq(main_cmds);
}
path = paths = xstrdup(env_path);
while (1) {
if ((colon = strchr(path, PATH_SEP)))
*colon = 0;
list_commands_in_dir(other_cmds, path, prefix);
if (env_path) {
char *paths, *path, *colon;
path = paths = xstrdup(env_path);
while (1) {
if ((colon = strchr(path, PATH_SEP)))
*colon = 0;
if (!colon)
break;
path = colon + 1;
}
free(paths);
list_commands_in_dir(other_cmds, path, prefix);
qsort(main_cmds->names, main_cmds->cnt,
sizeof(*main_cmds->names), cmdname_compare);
uniq(main_cmds);
if (!colon)
break;
path = colon + 1;
}
free(paths);
qsort(other_cmds->names, other_cmds->cnt,
sizeof(*other_cmds->names), cmdname_compare);
uniq(other_cmds);
qsort(other_cmds->names, other_cmds->cnt,
sizeof(*other_cmds->names), cmdname_compare);
uniq(other_cmds);
}
exclude_cmds(other_cmds, main_cmds);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment