diff- and log- family: handle "git cmd -h" early
"git $builtin -h" bypasses the usual repository setup and calls the cmd_$builtin() function, expecting it to show the help text. Unfortunately the commands in the log- and the diff- family want to call into the revisions machinery, which by definition needs to have a repository already discovered. Strictly speaking, they may not need a repository only for parsing "-h", but it is a good discipline to future-proof codepath to ensure that setup_revisions() is called after we know that a repository is there. Handle the "git $builtin -h" special case very early in these commands to work around potential issues. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -277,6 +277,9 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix)
|
||||
int use_bitmap_index = 0;
|
||||
const char *show_progress = NULL;
|
||||
|
||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||
usage(rev_list_usage);
|
||||
|
||||
git_config(git_default_config, NULL);
|
||||
init_revisions(&revs, prefix);
|
||||
revs.abbrev = DEFAULT_ABBREV;
|
||||
|
Reference in New Issue
Block a user