help: add --no-[external-commands|aliases] for use with --all

Add the ability to only emit git's own usage information under
--all. This also allows us to extend the "test_section_spacing" tests
added in a preceding commit to test "git help --all"
output.

Previously we could not do that, as the tests might find a git-*
command in the "$PATH", which would make the output differ from one
setup to another.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason
2022-02-21 20:38:51 +01:00
committed by Junio C Hamano
parent 503cddacb6
commit 1ce590133b
5 changed files with 66 additions and 7 deletions

8
help.c
View File

@ -476,15 +476,17 @@ static void list_all_cmds_help_aliases(int longest)
string_list_clear(&alias_list, 1);
}
void list_all_cmds_help(void)
void list_all_cmds_help(int show_external_commands, int show_aliases)
{
int longest;
puts(_("See 'git help <command>' to read about a specific subcommand"));
print_cmd_by_category(main_categories, &longest);
list_all_cmds_help_external_commands();
list_all_cmds_help_aliases(longest);
if (show_external_commands)
list_all_cmds_help_external_commands();
if (show_aliases)
list_all_cmds_help_aliases(longest);
}
int is_in_cmdlist(struct cmdnames *c, const char *s)