git: add hidden --list-builtins option
It can be useful in the test suite to be able to iterate over the list of builtins. We could do this with some Makefile magic. But since the authoritative list is in the commands array inside git.c, and since this could also be handy for debugging, let's add a hidden command-line option to dump that list. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b48cbfc5e6
commit
8893fd95b6
12
git.c
12
git.c
@ -26,6 +26,8 @@ static const char *env_names[] = {
|
||||
static char *orig_env[4];
|
||||
static int save_restore_env_balance;
|
||||
|
||||
static void list_builtins(void);
|
||||
|
||||
static void save_env_before_alias(void)
|
||||
{
|
||||
int i;
|
||||
@ -232,6 +234,9 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
|
||||
}
|
||||
(*argv)++;
|
||||
(*argc)--;
|
||||
} else if (!strcmp(cmd, "--list-builtins")) {
|
||||
list_builtins();
|
||||
exit(0);
|
||||
} else {
|
||||
fprintf(stderr, "Unknown option: %s\n", cmd);
|
||||
usage(git_usage_string);
|
||||
@ -529,6 +534,13 @@ int is_builtin(const char *s)
|
||||
return !!get_builtin(s);
|
||||
}
|
||||
|
||||
static void list_builtins(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < ARRAY_SIZE(commands); i++)
|
||||
printf("%s\n", commands[i].cmd);
|
||||
}
|
||||
|
||||
#ifdef STRIP_EXTENSION
|
||||
static void strip_extension(const char **argv)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user