builtins: Makefile clean-up
This cleans up the build procedure for built-in commands by: - generating mostly redundant definition of BUILT_INS from BUILTIN_OBJS in the Makefile, - renaming a few files to make the above possible, and - sorting the built-in command table in git.c. It might be a good idea to binary search (or perfect hash) the built-in command table, but that can be done later when somebody feels like. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
70
git.c
70
git.c
@ -224,52 +224,52 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
|
||||
int (*fn)(int, const char **, const char *);
|
||||
int option;
|
||||
} commands[] = {
|
||||
{ "version", cmd_version },
|
||||
{ "help", cmd_help },
|
||||
{ "log", cmd_log, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "whatchanged", cmd_whatchanged, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "show", cmd_show, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "push", cmd_push },
|
||||
{ "format-patch", cmd_format_patch, NEEDS_PREFIX },
|
||||
{ "add", cmd_add, NEEDS_PREFIX },
|
||||
{ "apply", cmd_apply },
|
||||
{ "cat-file", cmd_cat_file, NEEDS_PREFIX },
|
||||
{ "checkout-index", cmd_checkout_index, NEEDS_PREFIX },
|
||||
{ "check-ref-format", cmd_check_ref_format },
|
||||
{ "commit-tree", cmd_commit_tree, NEEDS_PREFIX },
|
||||
{ "count-objects", cmd_count_objects },
|
||||
{ "diff", cmd_diff, NEEDS_PREFIX },
|
||||
{ "grep", cmd_grep, NEEDS_PREFIX },
|
||||
{ "rm", cmd_rm, NEEDS_PREFIX },
|
||||
{ "add", cmd_add, NEEDS_PREFIX },
|
||||
{ "rev-list", cmd_rev_list, NEEDS_PREFIX },
|
||||
{ "init-db", cmd_init_db },
|
||||
{ "get-tar-commit-id", cmd_get_tar_commit_id },
|
||||
{ "upload-tar", cmd_upload_tar },
|
||||
{ "check-ref-format", cmd_check_ref_format },
|
||||
{ "ls-files", cmd_ls_files, NEEDS_PREFIX },
|
||||
{ "ls-tree", cmd_ls_tree, NEEDS_PREFIX },
|
||||
{ "tar-tree", cmd_tar_tree, NEEDS_PREFIX },
|
||||
{ "read-tree", cmd_read_tree, NEEDS_PREFIX },
|
||||
{ "commit-tree", cmd_commit_tree, NEEDS_PREFIX },
|
||||
{ "apply", cmd_apply },
|
||||
{ "show-branch", cmd_show_branch, NEEDS_PREFIX },
|
||||
{ "diff-files", cmd_diff_files, NEEDS_PREFIX },
|
||||
{ "diff-index", cmd_diff_index, NEEDS_PREFIX },
|
||||
{ "diff-stages", cmd_diff_stages, NEEDS_PREFIX },
|
||||
{ "diff-tree", cmd_diff_tree, NEEDS_PREFIX },
|
||||
{ "cat-file", cmd_cat_file, NEEDS_PREFIX },
|
||||
{ "rev-parse", cmd_rev_parse, NEEDS_PREFIX },
|
||||
{ "write-tree", cmd_write_tree, NEEDS_PREFIX },
|
||||
{ "mailsplit", cmd_mailsplit },
|
||||
{ "mailinfo", cmd_mailinfo },
|
||||
{ "stripspace", cmd_stripspace },
|
||||
{ "update-index", cmd_update_index, NEEDS_PREFIX },
|
||||
{ "update-ref", cmd_update_ref, NEEDS_PREFIX },
|
||||
{ "fmt-merge-msg", cmd_fmt_merge_msg, NEEDS_PREFIX },
|
||||
{ "prune", cmd_prune, NEEDS_PREFIX },
|
||||
{ "format-patch", cmd_format_patch, NEEDS_PREFIX },
|
||||
{ "get-tar-commit-id", cmd_get_tar_commit_id },
|
||||
{ "grep", cmd_grep, NEEDS_PREFIX },
|
||||
{ "help", cmd_help },
|
||||
{ "init-db", cmd_init_db },
|
||||
{ "log", cmd_log, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "ls-files", cmd_ls_files, NEEDS_PREFIX },
|
||||
{ "ls-tree", cmd_ls_tree, NEEDS_PREFIX },
|
||||
{ "mailinfo", cmd_mailinfo },
|
||||
{ "mailsplit", cmd_mailsplit },
|
||||
{ "mv", cmd_mv, NEEDS_PREFIX },
|
||||
{ "prune-packed", cmd_prune_packed, NEEDS_PREFIX },
|
||||
{ "repo-config", cmd_repo_config },
|
||||
{ "name-rev", cmd_name_rev, NEEDS_PREFIX },
|
||||
{ "pack-objects", cmd_pack_objects, NEEDS_PREFIX },
|
||||
{ "unpack-objects", cmd_unpack_objects, NEEDS_PREFIX },
|
||||
{ "prune", cmd_prune, NEEDS_PREFIX },
|
||||
{ "prune-packed", cmd_prune_packed, NEEDS_PREFIX },
|
||||
{ "push", cmd_push },
|
||||
{ "read-tree", cmd_read_tree, NEEDS_PREFIX },
|
||||
{ "repo-config", cmd_repo_config },
|
||||
{ "rev-list", cmd_rev_list, NEEDS_PREFIX },
|
||||
{ "rev-parse", cmd_rev_parse, NEEDS_PREFIX },
|
||||
{ "rm", cmd_rm, NEEDS_PREFIX },
|
||||
{ "show-branch", cmd_show_branch, NEEDS_PREFIX },
|
||||
{ "show", cmd_show, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "stripspace", cmd_stripspace },
|
||||
{ "symbolic-ref", cmd_symbolic_ref, NEEDS_PREFIX },
|
||||
{ "checkout-index", cmd_checkout_index, NEEDS_PREFIX },
|
||||
{ "tar-tree", cmd_tar_tree, NEEDS_PREFIX },
|
||||
{ "unpack-objects", cmd_unpack_objects, NEEDS_PREFIX },
|
||||
{ "update-index", cmd_update_index, NEEDS_PREFIX },
|
||||
{ "update-ref", cmd_update_ref, NEEDS_PREFIX },
|
||||
{ "upload-tar", cmd_upload_tar },
|
||||
{ "version", cmd_version },
|
||||
{ "whatchanged", cmd_whatchanged, NEEDS_PREFIX | USE_PAGER },
|
||||
{ "write-tree", cmd_write_tree, NEEDS_PREFIX },
|
||||
};
|
||||
int i;
|
||||
|
||||
|
Reference in New Issue
Block a user